IBM Maximo Anywhere Version 7 Release 6 Configuring Maximo Anywhere IBM Note Before using this information and the product it supports, read the information in “Notices” on page 37. This edition applies to version 7, release 6, modification 4 of IBM® Maximo Anywhere and to all subsequent releases and modifications until otherwise indicated in new editions. © Copyright International Business Machines Corporation 2013, 2020. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Chapter 1. Configuring Maximo Anywhere.............................................................. 1 Configuring Maximo Asset Management for Maximo Anywhere................................................................ 1 Maximo Anywhere security groups in Maximo Asset Management......................................................1 Adding users to the Maximo Anywhere security groups....................................................................... 2 Enabling Maximo Asset Management applications for maps and labor reporting............................... 3 Maximo Asset Management system options that affect mobile apps.................................................. 3 Configuring Maximo Anywhere mobile apps...............................................................................................3 Configuring apps with the Anywhere Administration application.........................................................4 Configuring apps by modifying the app definition file...................................................................... 5 Building and deploying Maximo Anywhere apps...................................................................................9 Building the application container......................................................................................................... 9 Configurable options............................................................................................................................ 10 Notices................................................................................................................37 Trademarks................................................................................................................................................ 38 Terms and conditions for product documentation................................................................................... 38 IBM Online Privacy Statement.................................................................................................................. 39 iii iv Chapter 1. Configuring Maximo Anywhere You can configure Maximo Anywhere to suit the business needs of your organization. You can define work list queries and other settings for retrieving data from the server. You can enable maps, attachments, bar code scans, and data encryption. Configuration settings can apply at an application or system level. Related information Maximo Anywhere system architecture and components Configuring Maximo Asset Management for Maximo Anywhere You must add users to the predefined Maximo Anywhere security groups and enable applications in Maximo® Asset Management. Related information Maximo Anywhere system architecture and components Maximo Anywhere security groups in Maximo Asset Management Maximo Asset Management includes predefined security groups for the Maximo Anywhere apps. You use these security groups to grant authorization to use the Maximo Anywhere apps. The number of authorized users for each app must comply with the terms of the Maximo Anywhere product license. App authorizations The following security groups are included in the required components that are deployed during installation to the Maximo Asset Management environment: ANYWHERE_TECHNICIAN Grants authorization to use the IBM Maximo Technician app. ANYWHERE_APPROVER Grants authorization to use the IBM Maximo Supervisor app. ANYWHERE_PHYSICAL_COUNT Grants authorization to use the IBM Maximo Cycle Counts app. ANYWHERE_INSPECTOR Grants authorization to use the IBM Maximo Inspector app. ANYWHERE_ASSET_AUDITOR Grants authorization to use the IBM Maximo Asset Auditor app. ANYWHERE_ASSET_MANAGER Grants authorization to use the IBM Maximo Asset Manager app. ANYWHERE_ISSUES_RETURNS Grants authorization to use the IBM Maximo Issues Returns app. ANYWHERE_SERVICE_REQUEST Grants authorization to use the IBM Maximo Service Requestor app. ANYWHERE_TRANSFERS Grants authorization to use the IBM Maximo Transfers Receipts app. These security groups are used to implement security at two levels: • Authorization to use the associated mobile app. This type of control is provided by the app itself. Only users who belong to the associated security group can log in to the app. If you remove a user from the associated security group, authorization is revoked the next time that the user logs in to the app through the server. • Authorization to read, create, and update data for the OSLC resources that are used in the associated mobile app. This type of control is provided by the Maximo application that is registered with the object © Copyright IBM Corp. 2013, 2020 1 structure for the resource. The security group identifies the authorizing application for each object structure and specifies the application-level signature options that are required to provide the appropriate level of data access. Users who belong to the security group automatically have the appropriate level of access for all data operations in the associated app. By default, these security groups do not include any users. You must add the relevant users, including system users such as MAXADMIN, before you deploy the associated apps. The Maximo Anywhere security groups do not include authorizations for specific sites, labor, storerooms, or GL components. To ensure complete access to Maximo Anywhere, click the Sites tab and select Authorize group for all sites. Click the Labor tab and select Authorize group for all labor. Product license compliance The terms of your Maximo Anywhere license specify the number of users that are entitled to use each mobile app. To comply with the terms of your product license, the number of users in the Maximo Anywhere security groups must not exceed the number of users that are entitled to use the associated apps. Adding users to the Maximo Anywhere security groups When mobile workers manage records, they must have the authority to use the Maximo Anywhere mobile apps. You authorize access to the Maximo Anywhere apps by adding users to the predefined security groups in Maximo Asset Management. About this task The user and group association are retrieved from Maximo Asset Management during authentication. If the user does not belong to the security group that is associated with the app, login fails. For each app, this security control is implemented in the application definition file. In this file, the requiredRole attribute specifies the security group that is authorized to use the app. By default, the Maximo Anywhere security groups do not include any users. You must add the relevant users, including predefined users such as MAXADMIN, before you deploy the associated apps. Procedure 1. In the Users application of Maximo Asset Management, create the user records. 2. In the Security Groups application, select the Maximo Anywhere group to which you want to add a user. 3. If your user is in a MAXADMIN group, clear the independent flag for that security group. 4. From the Users tab, click New Row. 5. Select a user. The associated user information populates the other fields. 6. Save your changes. What to do next The Maximo Anywhere security groups do not include authorizations for specific sites, labor, storerooms, or GL components. You must create separate security groups to implement security controls for these items. Users of the IBM Maximo Technician app must have a labor record. If a user does not have a labor record, login fails. Related information Combination of security groups 2 IBM Maximo Anywhere: Configuring Maximo Anywhere Enabling Maximo Asset Management applications for maps and labor reporting The Maximo Anywhere required components contain licenses for more Maximo Asset Management applications. You enable the Service Address application for use with the map feature and the Crews and Crew Types applications are used for labor reporting. About this task This procedure grants access to administrators to configure the features of the applications. Procedure 1. In Maximo Asset Management, go to the Security Groups application and select the group to which you want to grant access. For example, specify MAXADMIN. 2. On the Applications tab, select Grant access for the applications that you want to enable. 3. Save the group. Maximo Asset Management system options that affect mobile apps The settings that you define in the Organizations application in Maximo Asset Management apply to the relevant enterprise system applications and to the associated mobile apps. The following table specifies the options that affect the mobile apps. You can access the options from the More Actions section of the side navigation menu. This table lists the options that affect the mobile apps Option group Option description Example Labor Options Future labor transaction tolerance in hours. A labor transaction is not valid if it includes a future start or stop time that exceeds the specified tolerance. You can specify the number of hours in the future that labor transactions can be entered. You might want to enter time for future labor if you know that you are going to perform a task but want to report the time now. Edit Rules Work order edit settings. Some fields do not apply to the mobile apps, and are excluded from the mobile apps or are read-only in the mobile apps. For each work order status, you can specify the types of data that can be edited. For example, if a work order is in Approved status, you can specify that the asset field can be edited. Time zones When mobile workers use mobile apps, the time zone at the server might be different from their time zones. With the Users application in Maximo Asset Management, you must specify the time zone in the user record for each mobile worker. The mobile apps use this information to calculate the difference between the server time and the device time. For example, in labor transactions, the start and end times are adjusted and reported accurately based on the time zone that is set in your user record. Setting the time zone is important for these types of transactions, especially if you want to report hours for labor that is to be done in the future. Configuring Maximo Anywhere mobile apps IBM Maximo Anywhere offers nine mobile apps that are ready for immediate use. Depending on your business needs, you can configure certain aspects of the default apps by using the Anywhere Administration application or by modifying the application definition XML file. The application definition XML file defines the user interface and data resources of a Maximo Anywhere mobile app. If you modify the application definition file, you must build and deploy the app to push the changes to the mobile device. Chapter 1. Configuring Maximo Anywhere 3 Related information Maximo Anywhere system architecture and components Configuring apps with the Anywhere Administration application As an administrator, you can use the Anywhere Administration application to configure data and settings for the mobile apps. About this task Using the Anywhere Administration application, you can perform the following configurations: • Specify global properties that apply to all apps. For example, you can set the default upload path for attachments or set timeout values for all apps. • Define queries for your primary work lists. These queries determine which records can be retrieved from the server by mobile users. • Narrow the scope of queries for lookup data. For example, you can use a WHERE clause to filter the result set of a query to match custom criteria. • Configure map settings. • Configure push notification events. • Manage your deployed apps. For example, you can activate a previously deployed version of an app. When you define data resources, such as work list queries and map settings, in the Anywhere Administration application, these resources override any provided resources that are set in the app.xml file. You can define the group that can see the modifications to the apps, so that different users can see different types of data. When you use the Anywhere Administration application to configure mobile apps, you do not need to rebuild and deploy the apps. Procedure 1. Access the Anywhere Administration application from the Integration module within Maximo Asset Management and select the Maximo Anywhere app that you want to modify. 2. Select the tab for the type of data that you are changing: Tab Data List Data Work list queries Lookup Data Downloaded Settings Maps Notification Events Push notifications Deployment App deployments 3. To set the group for a data resource, in the row for that resource, select the Detail Menu icon, and pick a group from the list. 4. To create a new query, click New Row and create a query. To modify an existing query, select the Detail Menu icons for that row, and pick new values for the query. 5. To see a list of all the global properties that can be modified for the Maximo Anywhere mobile apps, click Anywhere Global Properties. Group settings are not enabled for these properties. 6. On your mobile device, log out of the modified app and then log back in to it again to see the configuration changes in that app. 4 IBM Maximo Anywhere: Configuring Maximo Anywhere Configuring apps by modifying the app definition file An application definition file is an XML file that defines the user interface and data resources of a Maximo Anywhere mobile app. As a developer, you can modify an application definition XML file to perform configurations that are not supported by the Anywhere Administration application. 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 the application definition. <ui> element Contains the specifications for the views in the mobile app, including views for the work list, record details, lookups, and dialog boxes. <data> element Contains the specifications for the data resources that are used by the app, including work list, lookup, and system resources. <messages> element Contains messages that are displayed on the user interface and recorded in the app log. Before you modify an application definition file, create a backup of the original file. After you modify an application definition file, you must build and deploy the app. Depending on the type of change, the updated app is delivered to users as a new app version or as a direct update: • 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 code scans, native code is added to the app during the build process. Users must download and install the new app version from the server. • If the change includes updated web resources, you can deploy the app without changing the app version. Users can accept the change as a direct update of the app version that is installed on their devices. The application definition file includes a requiredRole attribute that specifies which user group in the provider application is authorized to use the application. This attribute references one of the predefined user groups that are deployed during installation to the provider application environment. At run time, only users that belong to the specified user group can log in to the app. For example, the requiredRole attribute in the application definition file for the Technician app references the ANYWHERE_TECHNICIAN security group in Maximo Asset Management. Only users that belong to the ANYWHERE_TECHNICIAN security group can log in to the Technician app. The application definition file for each mobile app is called app.xml and is located in the application root directory. Table 1. Directories for the app.xml files App Directory IBM Maximo Asset Auditor app install_home\Anywhere\MaximoAnywhere \apps\AssetAudit\artifact IBM Maximo Asset Manager app install_home\Anywhere\MaximoAnywhere \apps\AssetDataManager\artifact IBM Maximo Inspector app install_home\Anywhere\MaximoAnywhere \apps\Inspection\artifact IBM Maximo Issues Returns app install_home\Anywhere\MaximoAnywhere \apps\IssuesReturns\artifact IBM Maximo Cycle Counts app install_home\Anywhere\MaximoAnywhere \apps\PhysicalCount\artifact Chapter 1. Configuring Maximo Anywhere 5 Table 1. Directories for the app.xml files (continued) App Directory IBM Maximo Service Requestor app install_home\Anywhere\MaximoAnywhere \apps\ServiceRequest\artifact IBM Maximo Transfers Receipts app install_home\Anywhere\MaximoAnywhere \apps\Transfers\artifact IBM Maximo Supervisor app install_home\Anywhere\MaximoAnywhere \apps\WorkApproval\artifact IBM Maximo Technician app install_home\Anywhere\MaximoAnywhere \apps\WorkExecution\artifact Related tasks Building and deploying Maximo Anywhere apps If you configure Maximo Anywhere apps without using the Anywhere Administration application, you must manually build and deploy the Maximo Anywhere apps. For example, if you update the application definition XML file or update the build.properties file, you must build and deploy the apps. Related information Maximo Anywhere system architecture and components Data resources in the application definition file The data that is used in a mobile app is specified in the application definition XML file in the form of OSLC resources. Resources are categorized as primary, supporting, lookup, or system resources. These categories determine how the resources are specified in the application definition file and how they are managed at run time. An OSLC resource represents a business, configuration, or domain object that belongs to the provider application. A resource is defined in the provider application by a shape document that describes the structure of the resource and all possible properties. The resource is published for integration by an OSLC object structure. The resource is registered with a service provider that specifies and manages the data operations that are available for the resource to consumer applications. In Maximo Anywhere, where mobile apps act as consumers, the application definition file specifies the resources that are used by the mobile application. The <data> XML element contains the specifications for all resources. The main characteristics of a resource are defined by the attributes of the root element, <resource>. Table 2. Attributes of the <resource> element Attribute Specifies Usage providedBy The service provider that is used for data operations on this resource. Required for primary, lookup, and system resources. A service provider reference is required for resources that are retrieved from the provider application as independent entities. The service provider specifies whether data for the resource can be updated, created, or deleted by the consumer application. For the primary resource, the service provider also specifies which queries are available to consumer applications. 6 IBM Maximo Anywhere: Configuring Maximo Anywhere Table 2. Attributes of the <resource> element (continued) Attribute Specifies Usage describedBy The shape document that defines the resource. Required for primary, lookup, and system resources. The specifications for these resources in the application definition file must conform to the shape document definition. name A unique name that is used for references Required for all resources. to this resource in the application definition file. pageSize The number of resource instances that can be retrieved at a time from the provider application. If, during query execution, the number of matching resource instances exceeds the page size value, the value is used to break down the result set into subsets that are retrieved in successive calls. Required for primary, lookup, and system resources. additional Data Whether the resource is a lookup resource. Required with a value of true for all lookup resources. isSystem Whether the resource is a system resource. Required with a value of true for all system resources. The following example shows the attributes that define the primary resource, workOrder, in the application definition file for the Technician 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 file for the Technician 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 element contains a list of attributes that specify the resource data that is used by the mobile app. The attributes that are listed correspond to properties that are defined by the resource shape document in the provider application. Primary resource The primary resource represents the top-level object in the work list record. The primary resource can be a parent to one or more supporting resources. A supporting resource represents a child object in the work list record. The primary resource can have a one-to-one or a one-to-many relationship with a supporting resource. When a 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 the work list record. For example, the work order is the primary resource in work list records for the Technician app. The work order resource can be related to supporting resources such as asset, location, task, and labor. A work Chapter 1. Configuring Maximo Anywhere 7 order can have a single main asset or location and multiple tasks and labor assignments. Tasks and labor assignments are displayed as lists within the work order. In the application definition file, primary and supporting resources are defined as separate entities. The primary resource has the following characteristics: • References to the service provider and shape document for the primary resource in the provider application. • A list of the queries that are used during run time to retrieve work list records from the server. The list is contained in the <queryBases> element. • A page size value that specifies the maximum number of work list records that can be retrieved in each request. • Simple and complex attributes for the properties of the primary resource as defined in the shape document. Simple attributes represent data that is local to the primary resource. Complex attributes refer to supporting resources. A supporting resource includes simple attributes for data that belongs to the supporting resource but is used in the work list record. Supporting resources are dependent on the primary resource to which they are related. Unlike the primary resource, supporting resources are not retrieved independently from the provider application and do not require references to a service provider and shape document. Lookup resources During run time, users can change supporting data in the work list record in accordance with business rules and application capabilities. Many changes involve the use of a lookup control to reference and select data that is external to the work list record. Examples of lookup data include the assets, tools, and materials that can be added to a work order. Users must download lookup data to make it available in the mobile app. Locally stored lookup data can be refreshed be on demand. Lookup objects are represented in the application definition file as lookup resources. A lookup resource has the following characteristics: • An additionalData attribute with a value of true. • References to the service provider and shape document for the lookup resource in the provider application. • A page size value that specifies the maximum number of records that can be retrieved in each request. • 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 is required to support system operations in the mobile app. For example, the following resources are classed as system resources for the Technician app: • The domain value lists that are used to change work order status and other work list record attributes. • The labor and labor craft resources for the current user that are required for labor reporting. • 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 the application. If the download fails, the user cannot log in. Locally stored system data is refreshed whenever the user refreshes lookup data. In the application definition file, a system resource has an isSystem attribute with a value of true. Other characteristics are the same as the characteristics of the lookup resource. 8 IBM Maximo Anywhere: Configuring Maximo Anywhere Building and deploying Maximo Anywhere apps If you configure Maximo Anywhere apps without using the Anywhere Administration application, you must manually build and deploy the Maximo Anywhere apps. For example, if you update the application definition XML file or update the build.properties file, you must build and deploy the apps. About this task Ensure that you have administrator rights. Procedure 1. From a command prompt, change the directory to the Maximo Anywhere application container directory. 2. Run the build all command. • On Windows, run build all • On OSX/Linux, run build.sh all Results The mobile apps are built and deployed to the Maximo server, and archives for each app are created in the relevant bin folders. Related information Maximo Anywhere system architecture and components Building the Maximo Anywhere application container As a mobile app developer, you can build your own native mobile apps for IBM Maximo Anywhere. You use the Maximo Anywhere application container to build the application binary files that you deploy to your mobile devices. Before you begin Review the Maximo Anywhere system requirements, and install the required development tools for your operating system. About this task The Maximo Anywhere application container must be installed on the computer that contains the Maximo Anywhere mobile apps. When you create and deploy a Maximo Anywhere iOS app, which is contained in an .ipa file, you must have all the appropriate Apple licenses. You are also responsible for the security of your signing credentials. For detailed licensing terms, see Licensing Information and Usage Restrictions. Procedure 1. From the MaximoAnywhereContainer directory, verify that all of the properties in the Container.properties file are correct. By default, the include.webcontent property is set to FALSE, which means that the URL of the Maximo Anywhere server is requested when the user opens the mobile app. Change this property to true to use the default server for Maximo Anywhere and hide the connection screen from mobile users. 2. Open a command line and change the directory to the MaximoAnywhereContainer directory. 3. Ensure that the build file can be executed, and run the following command: • On Windows, run build.bat • On OSX/Linux, run ./build.sh Chapter 1. Configuring Maximo Anywhere 9 Results The application binary files are created in the bin folder. If your build fails, refer to the Maximo Anywhere system requirements, and ensure that you have installed supported versions of the third-party development tools. Related information Maximo Anywhere system architecture and components Configurable options You can configure the IBM Maximo Anywhere mobile apps by using the Anywhere Administration application or by editing the application definition XML file. Configurable options for all Maximo Anywhere mobile apps • Define work list queries that apply to specified user groups • Define the lookup data that mobile users access from their devices • Change global settings for the mobile apps • Change application-specific settings • Configure push notifications • Enable encryption of the local data store for the mobile apps • Configure authentication • Configure serviceability Additional configurable options Additional, app-specific options can be configured depending on the capabilities of the mobile device, for example: • Enable GPS • Enable online and offline maps • Enable bar code scans • Enable attachments Defining work list queries The work list queries that you define for a mobile app determine which records can be retrieved from the server by mobile users. You can create custom queries in Maximo Asset Management by using the Anywhere Administration application. You can also implement these queries in the mobile app by updating the application definition file and deploying a new application version. Creating queries in Maximo Asset Management When you create queries in IBM Maximo Asset Management, you specify search criteria that suit the requirements of the target user groups in Maximo Anywhere. About this task As a developer, you create work list queries in the Maximo Asset Management application that authorizes access to the primary resource for the mobile app. The authorizing application must be registered with the object structure for the primary resource. For example, the primary resource in the Maximo Work Technician app is the work order. In Maximo Asset Management, the Work Order Tracking application is registered as the authorizing application for the oslcwodetail object structure and work order resource. Therefore, you create queries for the Technician app in the Work Order Tracking application. The queries that you create in the Maximo Asset Management application must be saved and marked public. Public queries are automatically added to the service provider that manages the associated resource data. These queries are implemented and used by consumers such as mobile applications to retrieve data from the provider application. 10 IBM Maximo Anywhere: Configuring Maximo Anywhere The search criteria that you define for a query determine the search results that are returned during run time. The actual result set for individual users can be different depending on their access rights in Maximo Asset Management. For example, a user belongs to a security group that is authorized to see work orders for the Site A, but not Site B. When this user runs a query in the app to retrieve all work orders in the preventive maintenance backlog, work orders for Site A, but not for Site B, are downloaded to the device. The search criteria can include constants that are resolved dynamically when the query is executed in Maximo Asset Management. The result set is filtered by the value that is returned for the resolved constant. For example, the default query, WORKIOWN, for the Technician app includes a constant, :USER. When the query is executed, this constant is resolved to return all work orders that are owned by the current user. Procedure 1. In Maximo Asset Management, open the application that authorizes access to the primary resource for the mobile application. 2. On the List tab, click Advanced Search, use one of the available options to specify the search criteria, and click Find. Verify that the query returns the expected search results. 3. Click Save Query and specify a name that uniquely identifies the query. The query name cannot include spaces or special characters, for example: ! " # $ % & ' ( ) * + 4. Select Public. 5. Click OK. What to do next Use the query name that you specified in Maximo Asset Management to add the query to the application definition XML file for the mobile app. Creating OSLC resource queries In Maximo Asset Management, an OSLC resource can be associated with an application through the object structure. As a developer, you can create public queries that are added to the service provider as query capabilities for the resource. You can use the defined queries to access the OSLC resource. If you support multiple versions of a Maximo application that uses the same resource, you can define the resource queries for each version of the application. Before you begin You can add queries for the following apps: • Maximo Asset Auditor • Maximo Asset Manager • Maximo Cycle Counts • Maximo Inspector • Maximo Service Requestor • Maximo Work Supervisor • Maximo Work Technician You cannot add queries for the following apps: • Maximo Issues and Returns • Maximo Transfers and Receipts About this task You can enable resource queries from a saved query of an application or by defining a query by using an automation script. Chapter 1. Configuring Maximo Anywhere 11 Procedure 1. In the OSLC Resources application, select the OSLC resource. 2. From the Select Action menu, select Resource Query Definition. 3. Specify the query for the resource. Query Action For a query that is saved in the application Specify the application and the query or copy all public queries that are associated with the application. For a query that is created from an automated script Specify the name of the query script. 4. Specify the unique URI name that is used by the query and save the record. 5. In the System Properties application, specify the host name value for the mxe.oslc.webappurl property. The mxe.oslc.webappurl property defines the public URL to find the OSLC resources. The default URL is http://localhost/maximo/oslc/. 6. Import the updated OSLC resource from Maximo Asset Management into Maximo Anywhere. The OSLC resource is imported to Resource Description Framework (RDF) files. What to do next Add the OSLC resource query and URI to the app.xml file for the mobile app. Adding queries to mobile apps To enable mobile users to retrieve work list records from the server, you must add at least one query to each mobile app. You add queries to a mobile app by using the Anywhere Administration application, or you can include them in the application definition file. Before you begin You can add queries for the following apps: • Maximo Asset Auditor • Maximo Asset Manager • Maximo Cycle Counts • Maximo Inspector • Maximo Service Requestor • Maximo Work Supervisor • Maximo Work Technician You cannot add queries for the following apps: • Maximo Issues and Returns • Maximo Transfers and Receipts The queries that you want to implement in the mobile application must be saved as public queries in Maximo Asset Management. About this task In the application definition file, you add queries to the specifications for the work list view and the primary resource. Each query must correspond to, and have the same name 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. 12 IBM Maximo Anywhere: Configuring Maximo Anywhere Each application definition file includes three system queries, Records Created Locally, Records with Errors, and Search Results, that are used for system functions in the mobile app. You must not remove or modify the code for these queries. Procedure 1. In the Anywhere\MaximoAnywhere\apps\app_name\artifact directory, open the app.xml file with an XML editor. 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. In this example, three queries are added to the work list view for the Maximo Work Technician 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. The primary resource is the first resource that is defined in the data section of the application 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. c) Use the queryUri attribute to specify how to retrieve the query records from Maximo. In this example, three queries are added to the primary resource, workOrder, for the Maximo Work Technician 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" queryUri="/oslc/os/oslcwodetail?savedQuery=WorkIOwn"> <queryBase name="WorkforMyLabor" queryUri="/oslc/os/oslcwodetail? savedQuery=WorkforMyLabor"> <queryBase name="WorkforMyCrew" queryUri="/oslc/os/oslcwodetail? savedQuery=WorkforMyCrew"> </queryBases> <...> </resource> 4. Save the file. 5. Build and deploy the application. What to do next Log in to the application and check that the queries that you added appear in the work list menu. Verify that the result set is the same when you run the query in the provider application and in the mobile app. Chapter 1. Configuring Maximo Anywhere 13 Specifying criteria for retrieving lookup data To narrow the scope of the query for a lookup resource, you can add a WHERE clause by using the Anywhere Administration application. You can also add a WHERE clause to the resource in the application definition file. The criteria in the WHERE clause are resolved dynamically when lookup data is retrieved from the provider application. About this task By default, the query for a lookup resource retrieves all records, or instances of the resource, that are available in the provider application. Depending on the requirements of your mobile app users, you might want to filter the result set to match custom criteria. You specify those criteria by adding a WHERE clause to the lookup resource in the application definition file. The application definition file for a mobile app can include predefined WHERE clauses for lookup and system resources. The criteria that are expressed in a predefined WHERE clause are required by the mobile app to support system operations and must not be modified. However, you can add additional criteria to predefined WHERE clauses by using the and operator to add custom criteria. Maximo Anywhere supports the OSLC WHERE clause. The criteria in an OSLC WHERE clause have a standard format that comprises an attribute, an operator, and a constant. For example, the following WHERE clause can be added to the additionallocations 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 allowed before or after comparison operators. SITE A A constant that expresses the site value criteria for matching location records. The criteria in a WHERE clause are typically based on attributes of the lookup resource to which the WHERE clause applies. However, a WHERE clause can also include criteria that are based on system resource attributes. For example, the following WHERE clause finds the mylaborcraftrate resource for the labor record that is associated with the current user. The labor record for the current user is given as [$ {mylabor.laborcode}], where laborcode is an attribute of the mylabor system resource. spi:defaultcraft is an attribute of the mylaborcraftrate system resource: <whereClause clause="spi:laborcode in [${mylabor.laborcode}] and spi:defaultcraft=1" /> You must not create circular references in WHERE clauses that use attributes from other resources. For example, if the WHERE clause for resource A uses an attribute from resource B, the where clause for resource B must not use an attribute from resource A. The application XSD cannot validate the content of the <whereClause> element. If you add WHERE clauses to the lookup resources in an application definition file, you must test the updated runtime application before you deploy it to a production environment. Procedure 1. In the Anywhere\MaximoAnywhere\apps\app_name\artifact directory, open the app.xml file. In the data section of the file, locate the resource that you want to configure. 2. In the <whereClause> element, specify the criteria as the value of the clause attribute and save the file. 3. Build and deploy the application. 14 IBM Maximo Anywhere: Configuring Maximo Anywhere Enabling the ability to refresh changes to the lookup or system data You can enable refresh of any data changes rather than having to refresh the complete set of lookup or system data. About this task To enable the ability to refresh any changes to the lookup or system data, you specify a value for each of the following global properties: Lookup.data.delta.support By default, this property is set to true, which enables refresh of only the changes to the lookup data. Specify false to disable this function. Lookup.data.delta.autorefresh By default, this property is set to true, which enables automatic refresh of only the changes to the lookup data. Specify false to disable this function. Lookup.data.delta.autorefresh.numbers.retry By default this property is set to 3. If the default value is used, the notification to refresh the data is sent three times. After three times, refresh is disabled until the next session. System.data.delta.support By default, this property is set to true, which enables refresh of only the changes to the system data. Specify false to disable this function. Procedure 1. In Maximo Asset Management, from the Integration module, open the Anywhere Administration application and click Anywhere Global Properties. 2. Set the Lookup.data.delta.support, Lookup.data.delta.autorefresh, and System.data.delta.support properties to true. 3. Set the number of auto refresh tries for the Lookup.data.delta.autorefresh.numbers.retry property. 4. On your mobile device, log out of the modified app and then log back in to see the configuration changes in that app. Configuring page sizes for retrieving data To increase or reduce the number of records that are retrieved from the server at a time, 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 the number of records that are retrieved from the server at a time. If the size of the result set exceeds the page size value, the result set is divided into subsets that are retrieved as separate pages in successive requests. You can specify different values for individual resources: • 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 list query in a mobile app. The default page size for primary resources is 100. • The page size for a lookup or system resource determines the number of records that can be retrieved in a results page for that resource type when users download or refresh lookup data on mobile devices. The default page size for most lookup and system resources is 1000. By reducing the page size, you can improve the response time for the retrieval of data. By increasing the page size, you can reduce the number of requests that are issued by the application to retrieve the full result set. Chapter 1. Configuring Maximo Anywhere 15 Procedure 1. In the Anywhere\MaximoAnywhere\apps\app_name\artifact 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 the root element of the resource. 3. Save the file. 4. Build and deploy the application. Configuring blind and non-blind counts Counts for the Cycle Counts app are either blind or non-blind. Blind counts are the default. To create blind counts or change non-blind counts into blind counts, you edit the app.xml file. You can also create these counts by using the Anywhere Administration application if it is enabled. About this task In a blind count, the app requires a numeric value for the item's balance that corresponds to what is in the inventory. In a non-blind count, the app requires a numeric value only if the current balance for that item differs from what is in the inventory. If the query base is not defined in the blindCountQueryBases section of the app.xml file, then the count is a non-blind count. Procedure 1. To create a blind count, in the app.xml file, create a local attribute for the count. 2. Add the local attribute to the list of query bases in the blind count section. 3. To change the count from a blind count to a non-blind count, in the app.xml file, remove the local attribute for the count. Find the local attribute in the list of query bases in the blind count section of the file. Example The following example of a blind count section of an app.xml file includes a list of blind count query bases: <!-- BlindCount QueryBases --> <resource name="blindCountQueryBases"> <attributes> <localAttribute name="getCentralStoreroom" dataType="boolean" /> <localAttribute name="getAtlantaStoreroom" dataType="boolean" /> </attributes> <whereClause /> </resource> Configuring push notifications for mobile apps By using push notifications, you can notify workers about assigned work, such as emergency work orders. Push notifications can be enabled for both the IBM Maximo Inspector app and the IBM Maximo Technician apps. You can enable push notifications for both Android and iOS devices. Before you begin Before you configure push notifications for mobile apps, ensure that you: • Install the Maximo Asset Management limited availability fix for push notifications and the interim fix or limited availability fix for Maximo Integration Framework, depending on your version of Maximo Asset Management. For more information, see Setting up push notifications. • Install the Maximo Anywhere application container. For more information, see Installing the Maximo Anywhere application container. In Maximo Asset Management, ensure that the Java™ Message Service (JMS) queues are configured for either your WebLogic Server or your WebSphere® Application Server. 16 IBM Maximo Anywhere: Configuring Maximo Anywhere Android devices must be registered with Google and have internet connectivity to access Google services. iOS devices must be registered with Apple and have internet connectivity to access Apple services. If your organization has a firewall that restricts the traffic to or from the internet, ensure that your firewall accepts outgoing connections from your Maximo Asset Management server to android.googleapis.com. For Maximo Asset Management server, the Maximo Anywhere push notification rules are configured as part of Maximo Asset Management, which uses Maximo Integration Framework, endpoints, and JMS services to push notifications to the device. About this task Push notification is the ability of a mobile device to receive messages that are pushed from a server. Notifications are received regardless of whether the app is running. Each app that is enabled for push notifications has an adapter for this capability. In Maximo Anywhere, the notifications allow the user to launch-in-context to the specific record. Procedure 1. On the Maximo Asset Management administrative workstation, in the install_home\maximo \applications\maximo\mboejb\ejbmodule\META-INF, rename the following files: File name New file name ejb-jar.xml ejb-jar-old.xml weblogic-ejb-jar.xml weblogic-ejb-jar-old.xml ibm-ejb-jar-bnd.xmi ibm-ejb-jar-bnd-old.xmi 2. Edit and uncomment the NOTF MDB text blocks in the following files: • ejb-jar-notf.xml • weblogic-ejb-jar-notf.xml • ibm-ejb-jar-bnd-notf.xmi 3. Rename the files that you edited files as follows: File name New file name ejb-jar-notf.xml ejb-jar.xml weblogic-ejb-jar-notf.xml weblogic-ejb-jar.xml ibm-ejb-jar-bnd_notf.xmi ibm-ejb-jar-bnd.xmi 4. Set up the Java Message Service (JMS). Option Description In WebSphere Application Server environments Add a logical address for the notification bus destination queue (NOTFBD) in the service integration bus: a. In the WebSphere Application Server Network Deployment administrative console, click Service Integration > Buses. b. Click intjmsbus and then, under Destination resources, click Destination. c. Click New, ensure that the Queue option is selected as the destination type, and click Next. d. In the Identifier field, enter NOTFBD and in the Description field, enter Notification Queue, then click Next. For the identifier, you must use this value and it must contain only uppercase letters. Chapter 1. Configuring Maximo Anywhere 17 Option Description e. In the Bus Member drop-down list, choose Node=ctgNode01:Server=MXServer. f. Click Next, review your selections, and click Finish to complete the creation of the NOTFBD bus destination queue. g. Click Buses > intjmsbus > Destinations and click NOTFBD. h. Select None as the exception destination value, verify that Keep count of failed deliveries per message is enabled, and click Apply and then Save. Create the NOTF JMS queue: a. From the WebSphere Application Server Network Deployment administrative console, click Resources > JMS > Queues. b. In the Scope drop-down list, choose Node=ctgNode01:Server=MXServer and click New. c. Verify that the Default Messaging Provider option is selected and click OK. d. In the Name field, enter NOTF. This value must contain only uppercase letters. e. In the JNDI name field, enter jms/maximo/int/queues/notf. f. In the Bus name field, enter intjmsbus. g. In the Queue name field, enter NOTFBD and click OK and then Save. Enter the activation specifications: a. From the WebSphere Application Server Network Deployment administrative console, click Resources > JMS > Activation specifications. b. In the Scope field, enter Cell=ctgCell01, Node=ctgNode01, and Server=WLServer, and click New. c. Verify that Default Messaging Provider is selected and click OK. d. In the Name field, enter notfact. e. In the JNDI name field, enter notfact. f. In the Destination JNDI name field, enter jms/maximo/int/ queues/notf. g. In the Bus name field, enter intjmsbus. h. In the Maximum batch size field, enter 10. i. In the Maximum concurrent MDB invocations per endpoint field, enter 5 and click OK and then Save. In WebLogic Server environments a. In the WebLogic Server Administration Console, go to Services > Persistent Stores, and create the following file stores: • sqinstore • cqinstore • sqoutstore For each file store, specify an existing directory in the system, for example, c:\jms, and set each target value to AdminServer. b. Go to Services > Messaging > JMS Servers and create three JMS Servers and set each target value to AdminServer: 18 IBM Maximo Anywhere: Configuring Maximo Anywhere Option Description • sqinserver • cqinserver • sqoutserver For the sqinserver JMS Server, enter sqinstore for the persistent store. For the cqinserver JMS Server, enter cqinstore for the persistent store. For the sqoutserver JMS Server, specify sqoutstore for the persistent store. c. Go to Services > Messaging > JMS Modules, create a JMS module named intjmsmodule, and set the descriptor file name value to jms/ intsmsmodule-jms.xml. d. Create four Queue type resources for the intjmsmodule module: • notf • sqin • sqout • cqin For the notf queue, specify jms/maximo/int/queues/notf for the JNDI name, create a new subdeployment with the same name, notf, and select notf as the target. For the sqin module, specify jms/maximo/int/queues/sqin for the JNDI name, create a new subdeployment with the same name, sqin, and select sqinserver for the target. For the sqout module, specify jms/maximo/int/queues/sqout for the JNDI name, create a new subdeployment with the same name, sqout, and select sqoutserver for the target. For the cqin module, specify jms/maximo/int/queues/cqin for the JNDI name, create a new subdeployment with the same name, cqin, and select cqinserver for the target. e. Create a Connection Factory type resource named intjmsconfact. For the intjmsconfact resource, specify jms/maximo/int/cf/ intcf for the JNDI name. Go to Advanced Targeting and create a new subdeployment with the same name, intjmsconfact. Select AdminServer, sqinserver, sqoutserver, cqinserver as the targets. Set the XA option for the connection factory and then activate all the changes. f. Restart WebLogic Server. 5. Start the Tivoli®'s process automation engine configuration tool and select Update the database with the UpdateDB Lite feature. 6. If you did not enable push notifications when you installed Maximo Anywhere, copy the Firebase push notification certificates for each app to the Android and IOS directories. The certificates are the JSON files that you download when you register the applications with Fire base Cloud Messaging in the Firebase console. Chapter 1. Configuring Maximo Anywhere 19 Table 3. Directories for push notification certificates Platform Application Directory Android IBM Maximo Inspector MaximoAnywhere\apps \Inspection \pushcertificate\android Android IBM Maximo Technician MaximoAnywhere\apps \WorkExecution \pushcertificate\android iOS IBM Maximo Inspector MaximoAnywhere\apps \Inspection \pushcertificate\ios iOS IBM Maximo Technician MaximoAnywhere\apps \WorkExecution \pushcertificate\ios 7. If you did not enable push notifications when you installed Maximo Anywhere, in the maximoanywhere_home\Anywhere\MaximoAnywhere\apps\app_name directory, edit the appfeature.properties file for each app for which you are enabling push notifications. Locate the pushnotification.enabled property, and set this property to true. Save and close the file. 8. Run the build all command. 9. Build the container for the applications to enable Push Notification support. For more information, see Building the Maximo Anywhere application container. Enabling encryption of the local data store You enable data encryption at the level of the Maximo Anywhere project. When encryption is enabled, the data store that is created on the device for each mobile app is automatically encrypted. About this task You enable or disable data encryption by using the encryption setting in the build.properties file for the Maximo Anywhere project. The active setting applies to all applications that are then built and deployed for the project. By enabling data encryption, you increase the level of protection for application data that is stored on the device. However, the performance of the application might deteriorate because of the time that is required by the encryption and decryption processes. When you disable data encryption, the locally stored login password is still secured. By default, data encryption is disabled. At run time, you cannot convert the local data store from an encrypted format to a non-encrypted format and vice versa. If the data encryption setting changes between app updates, you must clear the cache and data for the current app version, uninstall the current version, and then install the updated version. When you clear app data, any unsynchronized data is lost. When you install and log in to the updated version of the app, the local data store is created in the format that corresponds to the active setting. Procedure 1. Open the build.properties file in the Anywhere\MaximoAnywhere folder. 2. Set the enableDataEncryption property. 3. Save and close the file. 4. Build and deploy the applications. 20 IBM Maximo Anywhere: Configuring Maximo Anywhere Changing the heartbeat interval You can change the frequency of the heartbeat signal that is sent by active Maximo Anywhere apps to IBM Maximo Asset Management. About this task At run time, a Maximo Anywhere app generates a heartbeat signal at a frequency that is defined at system level. The signal is used to determine whether the app is connected to Maximo Asset Management. If connectivity is confirmed, the app uploads local data changes that are not yet saved to the server. The frequency of the heartbeat therefore determines the frequency of the automatic upload. You define the frequency of the heartbeat signal by specifying the interval between successive signals in worklight.properties file for the Maximo Anywhere project. The active setting applies to all applications that are built and deployed for the project. The default heartbeat interval is 1200 seconds (20 minutes). A lower value reduces the battery life of devices on which the Maximo Anywhere apps run. Procedure 1. Open the worklight.properties file in the maximoanywhere_home\Anywhere \MaximoAnywhere\server\conf directory. 2. In the si.device.heartbeat.timeInterval property, specify the value of the heartbeat interval in seconds. 3. Save and close the file. 4. Build and deploy the applications. Timeout properties Both the amount of time allowed before a request times out and the amount of wait time before requests can be reissued after a timeout is controlled by properties in the worklight.properties file. You can also configure these timeout properties by using the Anywhere Administration application if it is enabled. The following examples describe the default behavior for requests that timeout in the Maximo Work Technician app: • You attempt to connect to the adapter. The request times out after 3 seconds. • 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 the maximoanywhere_home \Anywhere\MaximoAnywhere\server\conf directory. Table 4. Descriptions of the timeout properties in the worklight.properties file and the default values. Default value Property Description si.device.connectivity. timeout.interval The wait time between attempts to access IBM Maximo 5000 ms Asset Management. Specify 0 if you do not want an interval. If Maximo Asset Management does not respond, an error is returned to the app. si.device.connectivity. timeout The amount of time allowed before the request to connect to the adapter times out. 10000 ms si.device.connectivity. timeout.stablepagination The amount of time allowed before the request to download large amounts of data such as lookup data times out. 360000 ms si.GPS.maximumAge Amount of time in milliseconds that the mobile device caches the latest acquired GPS co-ordinates. 60000 ms Chapter 1. Configuring Maximo Anywhere 21 Table 4. Descriptions of the timeout properties in the worklight.properties file and the default values. (continued) Default value Property Description si.GPS.timeout Amount of time in milliseconds that the mobile device 5000 ms waits to receive GPS co-ordinates with a given accuracy before it returns a time out error. Activating bar code scans When bar code scans are activated, mobile device users can scan bar codes to review work order details. About this task By default, bar code scanning is turned off, but it can be turned on in the app-feature.properties file. When you activate bar code scans, the updated app must be deployed as a new app version. Users must download and install the new app version from the server. Procedure 1. Open the app-feature.properties file in the Anywhere\MaximoAnywhere\apps\app_name folder, locate the barcode.enabled property, and set this property to true. 2. Build and deploy the application. Connecting Bluetooth bar code and RFID scanners to mobile apps You must configure the scanner and then pair and connect the scanner to the device. About this task To pair and connect the scanner to the device, you scan characters at the beginning and end of an item's bar code or RFID tag to separate them from one another. The bar codes or RFID tags for these characters are provided in the scanner manufacturer's instructions. Procedure 1. Configure the scanner by using the scanner manufacturer's instructions. 2. Pair and connect the scanner to the device by using the scanner manufacturer’s instructions. To automatically reconnect if the device goes offline, scan the bar code or RFID tag for reconnecting the device. Attachments properties The app-feature.properties file contains the property that enables attachments. The download and upload of attachments, the maximum size, and the location of attachments are controlled by properties in the worklight.properties file. You can also enable attachments by using the Anywhere Administration application if it is enabled. To enable attachments, edit the app-feature.properties file in the Anywhere\MaximoAnywhere \apps\app_name folder to set the attachments.enabled property to true. Attachments are enabled by default for apps that support attachments. To change the value of an attachment property, edit the worklight.properties file in the maximoanywhere_home\Anywhere\MaximoAnywhere\server\conf directory. 22 IBM Maximo Anywhere: Configuring Maximo Anywhere Property Description Defaul t value si.device.downloadAttachmentsWit hBulkDownload When the condition is true, attachments on work true orders are downloaded with a work list. App users can override the default value of this property by clearing the Download attachments with work list check box on the Settings view in the Maximo Work Technician app. si.device.onlyBulkDownloadPrintW ithReportAttachments By default, attachments that can be printed are true downloaded with a work list. You can override the default by going to Maximo Asset Management and clearing the check box in the Print attached document with report if printable type option in the Attachment Properties window. Attachments can still be downloaded manually. si.att.proxy.maxfilesize Controls the maximum size of an attachment that can be downloaded with a work list. You can change the default to a higher or to a lower number. si.attach.uploadmaxsize Controls the maximum size of an attachment that 10 MB can be uploaded with a work record. You can change the default to a higher or to a lower number. If you use Maximo Asset Management as a backend server, ensure that the attachment document property mxe.doclink.maxfilesize setting is equal to or greater than the setting for si.attach.uploadmaxsize. si.attachment.basedirectory Controls the location of the base directory for anywh attachments. If a mobile device is shared, ere attachments are added to multiple user directories, with one directory per user. All of the user directories are located under the base directory. To free up the space that is taken up by attachments, delete the attachments within the user directories or delete the default directory. 52428 80 (5 MB) Table 1. Descriptions of the attachment properties. Configuring maps Mobile workers can use the map view in the Maximo Work Technician application and the Maximo Inspector application to check the geographical location of work orders. To make the map view available, you must prepare the Maximo Anywhere environment and configure the application. Map capabilities in Maximo Anywhere The map view in a Maximo Anywhere app provides mobile workers with the geographical location of work orders in their current work list. When Maximo Anywhere is configured to use a map service provider, mobile workers can get a route and directions to their work order locations. Both Esri online and offline maps are supported. IBM Maximo Spatial Asset Management maps are also supported. For Maximo Spatial Asset Management maps, you can locate on maps objects that are associated with assets, and locations, as well as work orders. You can also see, for example, pumps, and valves that you configure in Maximo Spatial Asset Management in a map running using Maximo Anywhere. For offline maps using the Esri map service provider, the map view is based on a map that covers the defined geographical areas in which your mobile workers operate. Offline Esri maps are created by using Chapter 1. Configuring Maximo Anywhere 23 Esri ArcGIS capabilities, must be stored as TPK files on the mobile device, and are always available regardless of connectivity. The availability of extra map features depends on connectivity, at least for sufficient time that allows mobile workers to obtain a route and directions. When mobile workers are offline, the map view shows the current work orders that contain positioning information. The map view shows the route and position markers for each work location and provides turn-by-turn directions. Route and directions information is automatically saved to the device so that it can be accessed when the device is not connected. To use offline maps, you need to create the maps according to directions from your map service provider. When Maximo Anywhere is configured to use GPS, the mobile worker's current location appears on the map. For online maps using the Esri map service provider, from the Work Order Details screen, you can see your current GPS location and the work order location and route. A connection must be available to see these details. You can configure the color, transparency, and width of the route lines between markers. You can also configure the zoom level of the online maps. In the work list, work orders can be sorted by date, work order number, location, or priority. When the mobile worker is online, the route on the map view is created based on the sort order. To plot work orders on the map view, Maximo Anywhere requires positioning information. Only the work orders that include positioning information are shown in the map view. If IBM Maximo Spatial Asset Management is in your enterprise system environment, the positioning information comes from the work order objects and related objects whose features have geographic coordinates on the Esri ArcGIS server. If Maximo Spatial Asset Management is not in your enterprise system environment, the positioning information comes only from the geographic coordinates that are stored in an associated service address. Related concepts Map positioning information Positioning information is the geographical coordinate data that is used to determine 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, such as a service address, that information is provided to the IBM Maximo Technician and IBM Maximo Inspector apps when the work order is downloaded. If work orders in the enterprise system do not have positioning information, you need to configure the information on the enterprise system. Related tasks Configuring route lines When the map view is enabled, you can control the color, transparency, and width of the route lines between markers. You can configure the route lines by using the Anywhere Administration application. Configuring zoom levels When the map view is enabled, you can control the zoom level of the online maps. You can configure zoom levels by using the Anywhere Administration application. Related information Esri ArcGIS maps product documentation Configuring IBM Maximo Spatial Asset Management maps With IBM Maximo Spatial Asset Management, you can locate on maps objects that are associated with assets, and locations, as well as work orders. You can also see, for example, pumps, and valves that you configure in Maximo Spatial Asset Management in a map running using Maximo Anywhere. The IBM Maximo Spatial Asset Management advanced map capabilities apply only to the IBM Maximo Technician app. 24 IBM Maximo Anywhere: Configuring Maximo Anywhere Enabling the auto-locate cron task Maximo Anywhere provides a cron task, WoAutoLocateCronTask, that is set up to run the auto-locate function. By default, the cron task is not enabled because map support is optional in Maximo Anywhere. If you enable map capabilities, you must enable the cron task. About this task The auto-locate function in Maximo Asset Management updates or adds positioning information to work orders. This positioning information is used in the Maximo Work Technician and Maximo Inspector apps to plot work order locations on the map view. The WoAutoLocateCronTask runs the auto-locate function. This cron task includes two cron task instances: • 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 is updated or added to all work orders that are due to start within two days. • By default, the EmergentWoTask instance selects work orders that were approved or started in the 5minute period before the current time. Schedule this instance with the frequency that work orders might be approved or started so that positioning information is updated or added to these work orders. You can change the work order selection criteria for both cron task instances by modifying the WO_WHERECLAUSE parameter. For the EmergentWoTask instance, you can modify the EMERG_WO_TIME parameter. Procedure 1. 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 the EMERG_WO_TIME parameter should equal the number of minutes set in the schedule. This parameter acquires all work orders that were modified from the time the schedule runs, to twice the value of this parameter. For example, if this parameter is set to 5 minutes, all work orders that were modified in the previous 10 minutes are acquired. b) Specify a user with the necessary privileges, such as maxadmin. The user must have access for the actions that the cron task performs. 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 properties The WoAutoLocateCronTask cron task instances have two associated system properties. To change the value of a property, use the System Properties application of Maximo Asset Management. Chapter 1. Configuring Maximo Anywhere 25 Table 5. Cron task system properties Property Description Default value mxe.plussng.max.recs.returned. arcgis.server The maximum number of records that are returned by the Esri ArcGIS server at one time. The value is the lowest number of records that is allowed for a client to receive from any map services that are used by Maximo Spatial Asset Management in the Esri ArcGIS server. This system property applies only if Maximo Spatial Asset Management is deployed to the enterprise system environment. 1000 mxe.plussng.cron.max.autoloc. grp.objects The maximum number of work orders with location objects to be processed at one time. The value limits the query that is set up for the auto-locate cron task instances if the query returns large numbers of work orders with location objects. 2000 Enabling the IBM Maximo Spatial Asset Management map view Before mobile workers can get directions in the Technician app by using the Maximo Spatial Asset Management map, the map view must be enabled. You can configure the route lines by using the Anywhere Administration application. Before you begin For Maximo Spatial Asset Management maps, Maximo Spatial Asset Management 7.6.0.5 or greater must be installed, and a license for it must be obtained. In the Map Manager, an entry must exist so that a link exists between Maximo Spatial Asset Management and Maximo Anywhere. Procedure 1. In the maximoanywhere_home\Anywhere\MaximoAnywhere\apps\app_name directory, edit the app-feature.properties file and set the map.enabled property to true. Save and close the file. 2. In the maximoanywhere_home\Anywhere\MaximoAnywhere\apps\WorkExecution\artifact directory, edit the app.xml and specify mapmanager for the provider property. Save and close the file. 3. Build and deploy the application. Related tasks Activating GPS Maximo Anywhere uses global positioning system (GPS) data to determine the geographical location of mobile workers and work orders. GPS is also needed to add position markers to the map view. Configuring route lines When the map view is enabled, you can control the color, transparency, and width of the route lines between markers. You can configure the route lines by using the Anywhere Administration application. Configuring zoom levels When the map view is enabled, you can control the zoom level of the online maps. You can configure zoom levels by using the Anywhere Administration application. Related information Creating and configuring Maximo Spatial Asset Management maps 26 IBM Maximo Anywhere: Configuring Maximo Anywhere Defining mobile map parameters You can define one or more areas on a map that can be used with mobile devices. Updates you make to maps from the mobile device are synchronized with its map manager record in Maximo Asset Management. Procedure 1. In the Map Manager application, create a new Map Manager record and select Maximo Spatial as the provider. 2. Select Is mobile?. 3. Configure the site for the Map Manager record and define the initial and full extents. 4. In the Offline Mobile Map Area section, add a row and enter a name for a new area. 5. Click Define offline map to open the map that is associated with the map manager record. 6. Select the dynamic map service layers to include for the mobile map. If you add a layer to the mobile map manager record, any offline maps that were previously downloaded to a device must be deleted and downloaded again. 7. Define the extent of the area and then click OK. • Use the Selection tool to select a previously defined polygon within the area. • Use the Drawing tool to draw a polygon area on the map. 8. Save the Map Manager record. The replicas section of the record is automatically configured with map services that include a feature service that contains replica operations. 9. Click Create Replica for each record in the Map Replicas table. The replica process starts by sending an asynchronous create replica request to the ArcGIS server in background mode. The request includes the information you defined for the extent parameters, layers and map security. Replica processing status is displayed in the replica status log area. Once the process has concluded, a geodatabase is downloaded from the ArcGIS server to the Maximo Asset Management server. The data is then formatted for the mobile application. Geodatabase triggers are removed and the Geodatabase information is stored in the Maximo Asset Management database. What to do next You can create an offline package to side load map replicas to a device at a later time using the Create Offline Package option in the map manager. Maximo Asset Management creates an archive file that contains all of the replicas created and stored in Map Manager. This archive is saved to the database. Each set of files for a specific offline area are saved within a folder named after the offline map ID. For example, plussReplicas/offlineMapAreaID/<plussMapServiceID.geodatabase>. Locating devices on a map You can see the current location of a technician's mobile device in the maps of the Technician app. Before you begin Activate GPS for the app. About this task To enable the ability to locate devices on a map, you specify a value for the gps.tracking.enable property. By default, this property is set to true, which activates GPS tracking of the mobile device. Specify false to disable this function. Procedure 1. In the maximoanywhere_home\Anywhere\MaximoAnywhere\apps\app_name directory, edit the app-feature.properties file and set the gps.tracking.enable property to true. Chapter 1. Configuring Maximo Anywhere 27 2. Build and deploy the application. Configuring Esri maps When Maximo Anywhere is configured to use the Esri map service provider, mobile workers can get a route and directions to their work order locations. Both Esri online and offline maps are supported. Map positioning information Positioning information is the geographical coordinate data that is used to determine 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, such as a service address, that information is provided to the IBM Maximo Technician and IBM Maximo Inspector apps when the work order is downloaded. If work orders in the enterprise system do not have positioning information, you need to configure the information on the enterprise system. Coordinates or work order positioning information is downloaded from the map service provider to the enterprise system environment. Directions and a route to work orders on the mobile worker's current work list are available 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 a map feature. If Maximo Spatial Asset Management is not in your environment, positioning information is obtained by using non-linked objects. A non-linked object is a work order object that is not linked to a map feature. Non-linked objects therefore provide static geographic coordinate data that you must manually add and store in the service address object. Work order objects that can contain positioning information are work order, service address, asset, and location. When Maximo Spatial Asset Management is available, positioning information is obtained by using linked objects. A linked object is an object in a work order that is linked to a map feature in the designated GIS. A linked object can be the work order object itself, or the associated service address, asset, or location. The link between the object and the map feature enables the auto-locate function to dynamically obtain geographic coordinate data from the GIS when the cron task runs. If you do not use Maximo Spatial Asset Management, positioning information comes from static geographic coordinate data that is added and stored in the service address object. The static geographic coordinate data must be manually added into the Service Address application in Maximo Asset Management. The static geographic coordinate data can also be bulk loaded or migrated into the Integration Framework application in Maximo Asset Management. For offline Esri maps, you need to set up the TPK files for the geographic areas of your organization's work orders. The service address coordinate system must match the coordinate system that is used to create the offline map. The auto-locate function determines the geographical location of a record by processing the available positioning information in a defined sequence. The sequence is work order linked object, work order X/Y coordinates, work order linked service address, work order service address X/Y coordinates, work order linked asset, work order asset X/Y coordinates, work order linked location, and work order location X/Y coordinates. You schedule the automatic location of work orders by using the cron task, WoAutoLocateCronTask. Related tasks Enabling the auto-locate cron task Maximo Anywhere provides a cron task, WoAutoLocateCronTask, that is set up to run the auto-locate function. By default, the cron task is not enabled because map support is optional in Maximo Anywhere. If you enable map capabilities, you must enable the cron task. Related information Automatic location search order process for work orders 28 IBM Maximo Anywhere: Configuring Maximo Anywhere Service addresses Service addresses in the enterprise system can provide map positioning information. If you do not use Maximo Spatial Asset Management, you can use the Service 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 Maximo Anywhere, the version of the Service Address application in Maximo Asset Management is upgraded to the Maximo Spatial Asset Management version. The upgraded version of the Service Address application supports linked objects that include map positioning information. The service address object in the Service Address application includes X/Y coordinate fields for positioning information. This positioning information can be manually added into the application. In addition, when Maximo Spatial Asset Management is installed and linked to the Esri ArcGIS server, the map feature linked objects can be used to obtain positioning information. The Service Address application can be configured with either latitude and longitude fields or X/Y coordinate fields. However, to support map capabilities in Maximo Anywhere, the application must be configured with X/Y coordinate fields. The service address coordinate system that is used for work orders and related objects 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 map that is set up in the Esri ArcGIS server. Enabling the auto-locate cron task Maximo Anywhere provides a cron task, WoAutoLocateCronTask, that is set up to run the auto-locate function. By default, the cron task is not enabled because map support is optional in Maximo Anywhere. If you enable map capabilities, you must enable the cron task. About this task The auto-locate function in Maximo Asset Management updates or adds positioning information to work orders. This positioning information is used in the Maximo Work Technician and Maximo Inspector apps to plot work order locations on the map view. The WoAutoLocateCronTask runs the auto-locate function. This cron task includes two cron task instances: • 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 is updated or added to all work orders that are due to start within two days. • By default, the EmergentWoTask instance selects work orders that were approved or started in the 5minute period before the current time. Schedule this instance with the frequency that work orders might be approved or started so that positioning information is updated or added to these work orders. You can change the work order selection criteria for both cron task instances by modifying the WO_WHERECLAUSE parameter. For the EmergentWoTask instance, you can modify the EMERG_WO_TIME parameter. Procedure 1. 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 the EMERG_WO_TIME parameter should equal the number of minutes set in the schedule. This parameter acquires all work orders that were modified from the time the schedule runs, to twice the value of this parameter. For example, if this parameter is set to 5 minutes, all work orders that were modified in the previous 10 minutes are acquired. Chapter 1. Configuring Maximo Anywhere 29 b) Specify a user with the necessary privileges, such as maxadmin. The user must have access for the actions that the cron task performs. 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 properties The WoAutoLocateCronTask cron task instances have two associated system properties. To change the value of a property, use the System Properties application of Maximo Asset Management. Table 6. Cron task system properties Property Description Default value mxe.plussng.max.recs.returned. arcgis.server The maximum number of records that are returned by the Esri ArcGIS server at one time. The value is the lowest number of records that is allowed for a client to receive from any map services that are used by Maximo Spatial Asset Management in the Esri ArcGIS server. This system property applies only if Maximo Spatial Asset Management is deployed to the enterprise system environment. 1000 mxe.plussng.cron.max.autoloc. grp.objects The maximum number of work orders with location objects to be processed at one time. The value limits the query that is set up for the auto-locate cron task instances if the query returns large numbers of work orders with location objects. 2000 Configuring access to a map service provider A map service provider is required for providing routing and driving directions to work orders in the map view. The configuration information is valid for all apps that 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 secure communication. About this task Information that is used to access the Esri ArcGIS server is not added to the worklight.properties file by default because map support in Maximo Anywhere is optional. You configure this authentication information by editing this file. When an app with the map view is started, information is transferred to the app so that the mobile workers can use the routing service. Procedure 1. From the maximoanywhere_home\Anywhere\MaximoAnywhere\server\conf directory, edit the worklight.properties file and set the following properties: 30 IBM Maximo Anywhere: Configuring Maximo Anywhere Property Description si.map.esri.authentication.isEnabled Enables authentication to the Esri ArcGIS server. Set this property to 1 to enable authentication. si.map.esri.username The user name that is used to access the routing service on the Esri ArcGIS server. si.map.esri.password The password that is used to access the routing service on the Esri ArcGIS server. si.map.esri.routeService The secure URL of the routing service on the Esri ArcGIS server. Set this property to, for example, https:// route.arcgis.com/arcgis/rest/services/World/Route/ NAServer/Route_World si.map.esri.token The token that is used to access the route directions. si.map.esri.tokenService The URL for the server that is used to generate the token. If none is specified, the Esri default is used. si.map.esri.refererService The URL used as a parameter for the server that is used to generate the token. If none is specified, the Esri default is used. si.map.esri.isGetMethodEnabled The method that is used to generate the token for route directions. Table 1: The properties to be set and their descriptions. 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 an encryption value similar to HhMEhpY3f6F6rlJQ17qwbw\=\=. 4. Build and deploy the application. Related information Android developer help Esri ArcGIS server help Enabling the Esri map view The Esri map view provides mobile workers with the geographical location of work orders in their current work list. Before mobile workers can get directions in the Technician and Inspector apps, the map view must be enabled. Before you begin For the Esri map service provider, you must have a license from Esri. For offline maps, ensure that the following requirements are met: • You must create maps that are compatible with and supported by the Esri map service provider. • The mobile devices that use the map view must have enough space for the offline map (TPK) files, which can exceed 1 GB. About this task The map view is disabled by default because map support in Maximo Anywhere is optional. Enabling the map view displays the map view icon in the work list. The work list corresponds to the work order position markers in the map view. You can enable the map view by editing the app.xml or by using the Anywhere Administration application if this application is enabled. Chapter 1. Configuring Maximo Anywhere 31 When you enable the map view, the updated app must be deployed as a new app version. Users must download and install the new app version from the server. You must choose to use either offline maps or online maps, you cannot use both. For offline maps, the location and name of the TPK file must be specified. For online maps, the providerUrl property must be specified. Procedure 1. From the maximoanywhere_home\Anywhere\MaximoAnywhere\apps\app_name directory, edit the app-feature.properties file and set the map.enabled property to true. 2. Save and close the file. 3. From the maximoanywhere_home\Anywhere\MaximoAnywhere\apps\WorkExecution \artifact directory, edit the app.xml and update the property for the map control. a) For offline maps, update the LocalMapUrl property with the location and name of the TPK file on the mobile device. Also, for iOS devices, update the iosMapAccessMethod property to use either the Documents folder or the bundle. • For Android devices, this folder location is androidLocalMapUrl="file://folder_path/ map_file_name.tpk". • For iOS devices, this folder location is iosLocalMapUrl="map_file_name.tpk". You must also enter useDocumentsFolder for the iosMapAccessMethod attribute. • For Windows devices, this folder location is windowsLocalMapUrl="\folder_path \map_file_name.tpk". b) For online maps, set the providerUrl property. The value can be any valid ArcGIS tile service. If you do not set the providerUrl property, the user-defined TPK file is used. In the providerUrl property, the type of map is specified, for example, World_Topo_Map: providerUrl="http://server.arcgisonline.com/ArcGIS/rest/services/ World_Topo_Map/MapServer/tile/{z}/{y}/{x}" 4. Save and close the file. 5. Build and deploy the application. What to do next The page size of the offline map data load to be displayed is defined in the Maximo Anywhere global property si.map.offline.pageSize, with a default value of 10000. The number of features to display in an offline map extent is defined in the si.map.offline.featuresLimit property, with a default value of 100000. Related information Modifying apps with the Anywhere Administration application Adding Esri maps to iOS devices To use Esri maps on iOS devices, you either add the map file to the Technician and Inspector apps or download the map file to the device by using iTunes. Before you begin Create the maps that you need to add to the Technician app or the Inspector app. Enable the map view on the iOS device by updating the app.xml file to specify the name of the map and how to access the map file. About this task Adding the map file to the Technician app or the Inspector app before you deploy the app ensures that the same map file is deployed to all devices that download the app. When you provide an updated version of the map file and redeploy the app, the change is applied to all devices. 32 IBM Maximo Anywhere: Configuring Maximo Anywhere Alternatively, if you add a map file to the device by using iTunes, different maps are used in the Technician app or Inspector app for individual devices. This method is useful if mobile workers operate in different geographical areas. Procedure • To add the same map file to the Technician app or Inspector app for all devices, copy the map file to the Anywhere\MaximoAnywhere\apps\app_name\iphone\native\Resources \ISIImage.bundle\map_file_name.tpk directory and build and deploy the app. • To add a map file from any workstation to an individual device, copy the map to the device by sharing files in iTunes. Adding Esri maps to Windows devices To use Esri maps on Windows devices, you add the map file to the Technician and Inspector apps. Before you begin Create the maps that you need to add to the Technician app or the Inspector app. Enable the map view on the Windows device by updating the app.xml file to specify the name of the map and how to access the map file. About this task Due to security restrictions, the map file must be located in the project folder, which is hidden by default. You must configure the Windows folder visualization to show hidden folders and files. Procedure 1. Identify which file is the project folder by obtaining the hash key of the app that is available in the package.appxmanifest file in the app/windows8/native folder. This hash key is located in the Identity Name tag. For example, the manifest file is MaximoAnywhere/apps/WorkExecution/windows8/native/ package.appxmanifest. The Identity Name value is com.ibm.maximo.anywhere.workexecution_h35559jr9hy9m. Therefore, the complete path where the map file must be copied to is C:/Users/DEVICE_USER/AppData/Local/Packages/a02b50febb55-4be5-8bd9-6c2f93cef175/LocalState/basemaps. If the basemaps folder does not exist in your environment, you must create one for the map file. 2. Build and deploy the app. Activating GPS Maximo Anywhere uses global positioning system (GPS) data to determine the geographical location of mobile workers and work orders. GPS is also needed to add 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. Procedure 1. From the maximoanywhere_home\Anywhere\MaximoAnywhere\apps\app_name directory, edit the app-feature.properties file and set the property gps.enabled=true. 2. Save and close the file. 3. Build and deploy the application. Chapter 1. Configuring Maximo Anywhere 33 Related tasks Enabling the Esri map view The Esri map view provides mobile workers with the geographical location of work orders in their current work list. Before mobile workers can get directions in the Technician and Inspector apps, the map view must be enabled. Configuring route lines When the map view is enabled, you can control the color, transparency, and width of the route lines between markers. You can configure the route lines by using the Anywhere Administration application. About this task To change the color, transparency, and width of the route lines, you edit the worklight.properties file in the Anywhere\MaximoAnywhere\server\conf folder. The default width is 5. The default color is blue with 50 percent transparency (7F0000FF). The value for setting the color and transparency of the route lines is AARRGGBB. The AA value sets the level of transparency. The combined RRGGBB values set the color, where RR is red, GG is green, and BB is blue. Procedure 1. In the worklight.properties file, edit the si.map.directionsPathWidth property to change the width of the route lines. To change the color and transparency, edit the si.map.directionsPathColor property. 2. Build and deploy the application. Related information Calculating the color and width values for map route lines Hex values for colors Modifying apps with the Anywhere Administration application Configuring zoom levels When the map view is enabled, you can control the zoom level of the online maps. You can configure zoom levels by using the Anywhere Administration application. About this task To change the zoom level, you edit the worklight.properties file in the Anywhere \MaximoAnywhere\server\conf folder. The default value is 19. The default value, 19, is valid for the default URL for the Esri online maps that are configured in the app.xml file: providerUrl="http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/ MapServer/tile/{z}/{y}/{x}" The app.xml file is in the following directory: Anywhere\MaximoAnywhere\apps\app_name \artifact . Other URLs have different valid zoom levels. In the default URL, the type of map is specified, in this case World_Topo_Map. If you want to use a different map type, change the type of map in the URL. For example, to see ocean basemaps, change the URL to specify Ocean_Basemap: http://server.arcgisonline.com/ArcGIS/rest/services/Ocean_Basemap/MapServer/ tile/{z}/{y}/{x} If you have other types of maps that are defined on your server, change the first part of the URL, using the pattern: tile/{z}/{y}/{x}, for example: http://myownserver.com/myUrlForBaseMaps/myBaseMapType/tile/{z}/{y}/{x} 34 IBM Maximo Anywhere: Configuring Maximo Anywhere Procedure 1. In the worklight.properties file, edit the si.map.openLayers.maxZoom property to change the zoom level for the online maps. 2. Build and deploy the application. Related information ESRI URL providers Modifying apps with the Anywhere Administration application Recording and storing signatures Maximo Anywhere uses Real Signature and electronic signature to record and store signatures. By using Real Signature, you can efficiently record and store signatures in Maximo Anywhere mobile apps. After a signature is recorded, the signature is stored as an image, and it is attached to an associated item or work order. Electronic signature records and stores signatures for work order status changes. By enabling electronic signature in Maximo Asset Management, you require that users provide a signature when they change the status of a work order. Enabling electronic signature for Maximo Anywhere mobile apps By enabling electronic signature in Maximo Anywhere, you require that users provide a signature when they change the status of a work order. Procedure To enable electronic signature for Maximo Anywhere: 1. In the maximoanywhere_home\MaximoAnywhere\apps\app_name\artifact directory, open the app.xml file for the application in which you are enabling electronic signature. 2. In the app.xml file, locate the esig property, and set this property to true. Save and close the file. 3. Build and deploy the application. Recording signatures by using Real Signature You can record and store images of signatures in Maximo Anywhere mobile apps. After a signature is recorded, it can be retrieved from the attachment list of the signature's associated work order or item. About this task A signature that is recorded in Real Signature includes the following elements: • The date and time of the signature. • Optionally, the context of the signature. • Optionally, the name of the person who signed the signature. Each signature is stored as an image and as part of an attachment object. The attachment description is automatically populated with the signature, and the date and the time of the signature. A default name is also given to the image. The signatures can be recorded in both connected and disconnected mode, but the signatures cannot be modified after they are recorded. Procedure 1. In an app that has Real Signature is enabled, open the details page for a work order or item. 2. Select Capture Signature and add the signature in the Capture Real Signature view. 3. Enter the name of the person who signed the signature. 4. Click Save. Chapter 1. Configuring Maximo Anywhere 35 Configuring administrator control of undo actions on work order transactions When administrator control of undo actions is enabled, mobile device users must ask for administrator permission to undo any work order transactions. By default, mobile device users can undo any work order transactions without asking for permission. About this task Returning work orders to their previous state, helps ensure that the records on a device continue to accept and deliver work order transactions. However, if your business process requires administrator control of undo actions on work order transactions, you can enable this functionality in the appfeature.properties file. When you enable the undo action, the updated app must be deployed as a new app version. Users must download and install the new app version from the server. Procedure 1. In the Anywhere\MaximoAnywhere\apps\app_name folder, open the app-feature.properties file, locate the custom.undo.process.enabled property, and set this property to true. 2. Build and deploy the application. Failure reporting implementation in Maximo Anywhere By default, the query that downloads failure data retrieves all records or instances of the resource that are available in the provider application. Depending on the requirements of your mobile app users, you might want to filter the result set to match custom criteria. To narrow the scope of the query for failure data, you can add a WHERE clause to the queryBases element in the application definition file (app.xml). The criteria in the WHERE clause are resolved dynamically when lookup data is retrieved from the provider application. For example, you can download work orders with failure codes that are assigned to a specific organization. If the organization that is specified for work orders in Maximo Asset Management contains the word ORG A, then only the work orders for that organization are downloaded. To limit the records that are downloaded, add the following to the end of the queryBases section: <whereClause clause="spi_wm:orgid='ORG A'"/> In the application definition file, there are several queryBases sections of code. The queryBases section that you must modify is located within the following code: <resource providedBy="/oslc/sp/SmarterPhysicalInfrastructure" describedBy="http://jazz.net/ns/ism/asset/ smarter_physical_infrastructure#FailureList" name="failureListResource" pageSize="1000" additionalData="true"> 36 IBM Maximo Anywhere: Configuring Maximo Anywhere Notices This information was developed for products and services offered in the US. This material might be available from IBM in other languages. However, you may be required to own a copy of the product or product version in that language in order to access it. IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service. IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not grant you any license to these patents. You can send license inquiries, in writing, to: IBM Director of Licensing IBM Corporation North Castle Drive, MD-NC119 Armonk, NY 10504-1785 US For license inquiries regarding double-byte character set (DBCS) information, contact the IBM Intellectual Property Department in your country or send inquiries, in writing, to: Intellectual Property Licensing Legal and Intellectual Property Law IBM Japan Ltd. 19-21, Nihonbashi-Hakozakicho, Chuo-ku Tokyo 103-8510, Japan INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some jurisdictions do not allow disclaimer of express or implied warranties in certain 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 be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice. Any references in this information to non-IBM websites are provided for convenience only and do not in any manner serve as an endorsement of those websites. The materials at those websites are not part of the materials for this IBM product and use of those websites is at your own risk. IBM may use or distribute any of the information you provide in any way it believes appropriate without incurring any obligation to you. Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact: IBM Director of Licensing IBM Corporation North Castle Drive, MD-NC119 Armonk, NY 10504-1785 US © Copyright IBM Corp. 2013, 2020 37 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 material available for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement or any equivalent agreement between us. The performance data and client examples cited are presented for illustrative purposes only. Actual performance results may vary depending on specific configurations and operating conditions. Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. This information is for planning purposes only. The information herein is subject to change before the products described become available. This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to actual people or business enterprises is entirely coincidental. COPYRIGHT LICENSE: This information contains sample application programs in source language, which illustrate programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. The sample programs are provided "AS IS", without warranty of any kind. IBM shall not be liable for any damages arising out of your use of the sample programs. Trademarks IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International 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 and trademark information" at www.ibm.com/legal/copytrade.shtml. Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates. Linux is a trademark of Linus Torvalds in the United States, other countries, or both. Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries. Terms and conditions for product documentation Permissions for the use of these publications are granted subject to the following terms and conditions. Applicability These terms and conditions are in addition to any terms of use for the IBM website. 38 Notices Personal use You may reproduce these publications for your personal, noncommercial use provided that all proprietary notices are preserved. You may not distribute, display or make derivative work of these publications, or any portion thereof, without the express consent of IBM. Commercial use You may reproduce, distribute and display these publications solely within your enterprise provided that all proprietary notices are preserved. You may not make derivative works of these publications, or reproduce, distribute or display these publications or any portion thereof outside your enterprise, without the express consent of IBM. Rights Except as expressly granted in this permission, no other permissions, licenses or rights are granted, either express or implied, to the publications or any information, data, software or other intellectual property contained therein. IBM reserves the right to withdraw the permissions granted herein whenever, in its discretion, the use of the publications is detrimental to its interest or, as determined by IBM, the above instructions are not being properly followed. You may not download, export or re-export this information except in full compliance with all applicable laws and regulations, including all United States export laws and regulations. IBM MAKES NO GUARANTEE ABOUT THE CONTENT OF THESE PUBLICATIONS. THE PUBLICATIONS ARE PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE. IBM Online Privacy Statement IBM Software products, including software as service solutions, (“Software Offerings”) may use cookies or other technologies to collect product usage information, to help improve the end user experience, to tailor interactions with the end user or for other purposes. In many cases no personally identifiable information is collected by the Software Offerings. Some of our Software Offerings can help enable you to collect personally identifiable information. If this Software Offering uses cookies to collect personally identifiable information, specific information about this offering’s use of cookies is set forth below. Depending upon the configurations deployed, this Software Offering may use session 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 functional purposes. These cookies can be disabled, but disabling them will also likely eliminate the functionality they enable. If the configurations deployed for this Software Offering provide you as customer the ability to collect personally identifiable information from end users via cookies and other technologies, you should seek your own legal advice about any laws applicable to such data collection, including any requirements for notice and consent. For more information about the use of various technologies, including cookies, for these purposes, see IBM’s Privacy Policy at http://www.ibm.com/privacy and IBM's Online Privacy Statement at http:// www.ibm.com/privacy/details in the section entitled “Cookies, Web Beacons and Other Technologies” and the "IBM Software Products and Software-as-a-Service Privacy Statement" at http://www.ibm.com/ software/info/product-privacy. Notices 39 40 IBM Maximo Anywhere: Configuring Maximo Anywhere IBM® (1P) P/N: Part Number: