Geocortex Mobile App Framework 2.0.1 Administrator Guide © 2016 Latitude Geographics Group Ltd. All Rights Reserved. Printed in Canada The information contained in this document is the exclusive property of Latitude Geographics Group Ltd. This work is protected under Canadian and US copyright law and copyright laws of the given countries of origin and applicable international laws, treaties, and/or conventions. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying or recording, or by any information storage or retrieval system, except as expressly permitted in writing by Latitude Geographics Group Ltd. All requests should be sent to Attention: Contracts Manager, Latitude Geographics Group Ltd, 300 - 1117 Wharf Street, Victoria, British Columbia V8W 1T7. This information is subject to change without notice. US Government Restricted Rights The Software and documentation are provided with restricted rights. Use, duplication, or disclosure by the U.S. Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of The Rights in Technical Data and Computer Software clause at DFARS 252.227-7013, or subparagraphs (c)(1) and (2) of the Commercial Computer Software - Restricted Rights at 48 CFR 52.227-19, as applicable. The Contractor/Manufacturer is Latitude Geographics Group Ltd., 300 1117 Wharf Street Victoria, British Columbia V8W 1T7. Geocortex and Latitude Geographics are registered trademarks of Latitude Geographics Group Ltd. in the United States and Canada, and are trademarks in other jurisdictions around the world. Esri, the Esri globe logo, ArcGIS, @esri.com, and esri.com are trademarks, service marks, or registered marks of Esri in the United States, the European Community, or certain other jurisdictions. Trademarks are provided under license from Esri. Microsoft and the Windows logo are registered trademarks of Microsoft Corporation. Other companies and products mentioned herein are trademarks or registered trademarks of their respective trademark owners. Contents 1 Welcome 1 1.1 About the Geocortex Mobile App Framework 1 1.2 About this Guide 2 2 Geocortex Mobile App Framework for Android 2.1 About Customized Versions 2.1.1 Obtain a Customized Multi-Viewer Application 2.1.2 Obtain a Customized Single-Viewer Application 2.2 Requirements 2 2 3 3 4 2.2.1 Operating Systems 4 2.2.2 Devices 4 2.2.3 Server 4 2.2.4 Geocortex Software 5 2.2.5 Offline Requirements 5 2.2.6 Secured ArcGIS Services 2.3 Installation 6 6 2.3.1 Install the Geocortex Mobile App Framework 6 2.3.2 About Registration 7 2.3.3 Add Viewers and Resources 2.4 Upgrading 2.4.1 Upgrade the Geocortex Mobile App Framework 2.5 Configuration 9 11 11 11 2.5.1 About Configuration 11 2.5.2 Obtain an ArcGIS Runtime SDK License 12 2.5.3 Configure the Offline Settings of a Viewer 13 2.5.4 Configure an Offline Basemap 14 2.5.5 Configure and Use an Offline Map 17 2.6 Translation 2.6.1 Translate the Geocortex Mobile App Framework 3 Geocortex Mobile App Framework for iOS 3.1 About Customized Versions 20 20 21 21 3.1.1 Obtain a Customized Multi-Viewer Application 22 3.1.2 Obtain a Customized Single-Viewer Application 22 3.2 Requirements 23 3.2.1 Operating Systems 23 3.2.2 Devices 23 3.2.3 Apple Enterprise Developer Account 23 3.2.4 Server 23 3.2.5 Geocortex Software 24 3.2.6 Offline Requirements 25 3.2.7 Secured ArcGIS Services 25 |i Geocortex Mobile App Framework 2.0.1.Administrator Guide 3.3 Installation 26 3.3.1 Install the Geocortex Mobile App Framework 26 3.3.2 About Registration 27 3.3.3 Add Viewers and Resources 27 3.4 Upgrading 3.4.1 Upgrade the Geocortex Mobile App Framework 3.5 Deployment 29 29 29 3.5.1 About Deployment 29 3.5.2 Create an Apple Enterprise Developer Account 30 3.5.3 Set Up an Admin User Account for Latitude Geographics 31 3.5.4 Receive and Deploy the Distribution Package 33 3.6 Configuration 33 3.6.1 About Configuration 33 3.6.2 Obtain an ArcGIS Runtime SDK License 34 3.6.3 Configure the Offline Settings of a Viewer 35 3.6.4 Configure an Offline Basemap 36 3.6.5 Configure and Use an Offline Map 3.7 Translation 3.7.1 Translate the Geocortex Mobile App Framework 4 Geocortex Mobile App Framework for Windows 4.1 About Customized Versions 40 44 44 44 44 4.1.1 Obtain a Customized Multi-Viewer Application 45 4.1.2 Obtain a Customized Single-Viewer Application 46 4.1.3 Manually Customize the Geocortex Mobile App Framework 46 4.1.4 Create a Single-Viewer Application 48 4.2 Requirements 49 4.2.1 Operating Systems 49 4.2.2 Devices 49 4.2.3 Server 50 4.2.4 Geocortex Software 51 4.2.5 Offline Requirements 51 4.2.6 Secured ArcGIS Services 51 4.3 Installation 52 4.3.1 Install the Geocortex Mobile App Framework 52 4.3.2 About Registration 53 4.3.3 Add Viewers and Resources 4.4 Upgrading 4.4.1 Upgrade the Geocortex Mobile App Framework 4.5 Configuration 54 56 56 57 4.5.1 About Configuration 57 4.5.2 Obtain an ArcGIS Runtime SDK License 57 4.5.3 Configure the Offline Settings of a Viewer 59 4.5.4 Configure an Offline Basemap 60 ii | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 4.5.5 Configure and Use an Offline Map 4.6 Translation 4.6.1 Translate the Geocortex Mobile App Framework 63 66 66 5 About Custom Development 67 6 Offline 67 6.1 How Offline Works 68 6.2 Offline Editing and Syncing 68 6.3 How the End User Edits Features 69 6.4 Offline Access to Secured Sites 71 Appendix A: Offline Support for Features 72 A.1 Features with Offline Support 72 A.2 Features without Offline Support 74 Appendix B: Historical Requirements 76 | iii Geocortex Mobile App Framework 2.0.1.Administrator Guide 1 1.1 Welcome About the Geocortex Mobile App Framework The Geocortex Mobile App Framework is a native client application that can run Geocortex Viewer for HTML5 (GVH) viewers even without network connectivity. It is intended to be installed and used on a mobile device such as a smartphone, tablet or laptop. The Geocortex Mobile App Framework supports Android devices; iOS devices—iPad, iPhone and iPod Touch; as well as Windows tablets and computers. The Geocortex Mobile App Framework allows the viewers to access native device capabilities like the file system in order to access large basemaps while the device is offline. A single GVH-based viewer running on the various platforms supported by the Geocortex Mobile App Framework A typical usage scenario is a user with a mobile device who needs to access a GVH-based viewer in the field, where the device may lack network activity. Before entering the field, the user must first install the Geocortex Mobile App Framework on the device and configure offline mode for the viewer. After returning from the field, the user can sync any changes made in the App while the device was offline. The Geocortex Mobile App Framework can: l Launch GVH-based viewers. l Provide offline editing of feature data and two-way synchronization of that data. l Store and display GVH-based viewers in a menu for easy access. l Wirelessly download and store basemap (TPK) files that can be used with GVH-based viewers while offline. l Provide offline Geometry service functionality, like projection, simplification and measurements. 1 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 1.2 About this Guide l Enable access to large offline basemaps. l Enable access to native device capabilities such as the file system. For a comprehensive list of which features are supported offline, see Offline Support for Features. 1.2 About this Guide This guide contains information on how to deploy, host, and access the Geocortex Mobile App Framework. The guide also describes how to configure the Geocortex Mobile App Framework to use offline basemap (TPK) files and load viewers while offline. Since the Geocortex Mobile App Framework supports the Android, iOS and Windows platforms, the guide is split into three parts: l l l 2 2.1 Geocortex Mobile App Framework for Android: This part contains information about the Geocortex Mobile App Framework for the Android platform. Geocortex Mobile App Framework for iOS: This part contains information about the Geocortex Mobile App Framework for the iOS platform. Geocortex Mobile App Framework for Windows: This part contains information about the Geocortex Mobile App Framework for the Windows platform. Geocortex Mobile App Framework for Android About Customized Versions Obtaining a customized version of the Geocortex Mobile App Framework offers a few advantages: l Preregister the App with Essentials l Preconfigure the ArcGIS Runtime SDK License l Use the App in a Mobile Device Management (MDM) software environment l Customize the appearance of the App, such as the icon, name, and splash screen To obtain a fully-customized version of the Geocortex Mobile App Framework, you must contact Geocortex Support ([email protected]) to provide some information. The information required depends on what kind of customized version of Geocortex Mobile App Framework you want: l Obtain a customized Multi-Viewer Application Choose this if you want to allow the user to select which viewer to open when the Geocortex Mobile App Framework starts. |2 Geocortex Mobile App Framework 2.0.1.Administrator Guide l Obtain a customized Single-Viewer Application Choose this if you want a specific viewer to open automatically when the Geocortex Mobile App Framework starts. 2.1.1 Obtain a Customized Multi-Viewer Application To obtain a customized version of the Geocortex Mobile App Framework that supports multiple viewers, you must provide Geocortex Support ([email protected]) with the following information: l The platforms for which you want customized versions, namely: Android, iOS and Windows l Your Essentials instance URL. For example, http://MyServer.com/Geocortex/Essentials l The type of Mobile Device Management (MDM) software you intend to use, if applicable You may optionally provide the following information: 2.1.2 l Your ArcGIS Runtime SDK License Code l Your ArcGIS Client ID l The App name l The App icon l The splash screen images Obtain a Customized Single-Viewer Application To obtain a customized version of the Geocortex Mobile App Framework that only contains a single viewer, you must provide Geocortex Support ([email protected]) with the following information: l l The platforms for which you want customized versions, namely: Android, iOS and Windows The viewer's Launch in Geocortex Mobile App Framework link. This link appears on the Viewer Info page when you edit your HTML5 Viewer in Essentials. You can right-click the link and click Copy Link Location, Copy link address or Copy shortcut. For example, gcx://viewerPackage?url=http://MyServer.com/Html5Viewer/gmaf/viewerpackage.ashx?view erUrl=http://MyServer.com/Geocortex/Essentials/REST/sites/MySite/viewers/MyViewer l The type of Mobile Device Management (MDM) software you intend to use, if applicable You may optionally provide the following information: l Your ArcGIS Runtime SDK License Code l Your ArcGIS Client ID l The App name l The App icon l The splash screen image 3 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 2.2 Requirements 2.2 2.2.1 Requirements Operating Systems The Geocortex Mobile App Framework for Android supports Android 4.4 and greater. 2.2.2 Devices All tablets or smartphones running Android 4.4 or greater. 2.2.3 Server A server is necessary to host the application and provide a download URL for users to access the application. Any web server capable of serving files can be used, but it must be configured to serve .TPK and .JSON files. If you use Internet Information Services (IIS), you will need to add new MIME types for each of these file extensions. 2.2.3.1 MIME Types In order to host the Android deployment package, your web server needs to serve the following MIME types: l .APK l .TPK l .JSON You can add the MIME types at any point in the folder hierarchy of the server. The higher in the folder structure you add the MIME types, the greater the scope they have. You can only add one MIME type at a time. The procedure below must be repeated for each new MIME type. To add the MIME types to IIS: 1. To open IIS Manager, click the Windows Start button, type iis, and click Internet Information Services (IIS) Manager. 2. In the IIS section of the middle panel, double-click MIME Types . 3. In the Actions panel on the right, click Add. |4 Geocortex Mobile App Framework 2.0.1.Administrator Guide 4. In the Add MIME Type window, type the following for each different MIME type: l .APK: In the File name extension text box, type .apk. In the MIME Type text box, type application/vnd.android.package-archive. l .TPK: In the File name extension text box, type .tpk. In the MIME Type text box, type application/octet-stream. l .JSON: In the File name extension text box, type .json. For example, for language resource files (gcxLang-enus.json). In the MIME Type text box, type application/json. 5. Click OK and close IIS Manager. 2.2.4 Geocortex Software The Geocortex Mobile App Framework 2.0.1 for Android works with: l Geocortex Essentials 4.5 or higher l Geocortex Viewer for HTML5 version 2.6.1 or higher If Internet Information Services (IIS) is configured to deny anonymous access for either Essentials or the HTML5 Viewer, Geocortex Mobile App Framework may not work properly. For information about requirements for past versions, see Historical Requirements on page 76. 2.2.5 Offline Requirements As of version 1.3.2, the Geocortex Mobile App Framework makes use of the HTML5 Viewer proxy page. You must configure the HTML5 Viewer proxy page to communicate with trusted servers such as the Essentials server, otherwise the application may not function properly. For more information, see "Set Up a Proxy Page" in the Geocortex Viewer for HTML5 Administrator and Developer Guide. To ensure the Geocortex Mobile App Framework functions properly, you must set up CORS (Cross-Origin Resource Sharing) in Essentials. To do so, you must remove any previous CORS configuration, run and complete the Post Installer, and ensure the RestAppSettings.xml file in your Sites folder has an <AllowOrigins> element that contains <Origin Url="http://127.0.0.1:8181" />. For more information, see "Set Up Cross-Origin Resource Sharing (CORS)" in the Geocortex Essentials Installation Guide. 5 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 2.2.6 Secured ArcGIS Services Certain offline features require an ArcGIS Runtime SDK License. There are two kinds of ArcGIS Runtime SDK Licenses: l Basic: Allows you to use offline basemaps, global search, query, filter, identify, and view related features offline. The Geocortex Mobile App Framework is preconfigured with a Basic license by default. Custom Offline Basemaps require your ArcGIS basemaps to have the ExportTiles operation enabled, which is available in ArcGIS Server 10.2.1 and later. For more information, see Allow clients to export cache tiles in Esri's online documentation. l Standard: Required for offline editing. To enable offline editing, you must first prepare your ArcGIS feature services for offline use. Ensure each has the sync capability enabled, the Global ID field added to their data, archiving or versioning enabled on their data, and their relationships and attachments configured with a Global ID primary key. For more information, see Prepare data for offline use in Esri's online documentation. For more information, see Obtain an ArcGIS Runtime SDK License on page 12. 2.2.6 Secured ArcGIS Services We recommend you avoid securing your ArcGIS services with Basic Authentication because editing will not work; use Windows Authentication instead. If your site contains ArcGIS services that are secured with Windows Authentication, you must configure the HTML5 Viewer's proxy page, and configure the IIS authentication settings for the HTML5 Viewer to enable Windows Authentication. For more information, see "Set Up a Proxy Page" in the Geocortex Viewer for HTML5 Administrator and Developer Guide. When accessing a secured ArcGIS service, you may be prompted to enter your user credentials. 2.3 2.3.1 Installation Install the Geocortex Mobile App Framework Before upgrading the Geocortex Mobile App Framework or the Geocortex Viewer for HTML5, to avoid losing any unsaved changes you must use the Sync tool for each viewer that has unsaved edits. There are two steps to install the Geocortex Mobile App Framework onto a device: 1. Allow the installation of apps from sources other than the Play Store 2. Install the Geocortex Mobile App Framework onto the device To allow the installation of apps from sources other than the Play Store: 1. On the device, open Settings. 2. Under PERSONAL, tap Security. 3. Under DEVICE ADMINISTRATION, ensure the Unknown sources checkbox is selected. |6 Geocortex Mobile App Framework 2.0.1.Administrator Guide To install the Geocortex Mobile App Framework onto the device: 1. Open the Geocortex Essentials Downloads page in the Geocortex Support Center. If prompted, log in with your Support Center account credentials. If you do not have a Support Center account, click the link to create an account. 2. Find the Geocortex Mobile App Framework section. Information is displayed about the current versions of Geocortex Mobile App Framework for each platform, with download and documentation links. To download a previous version, click Previous Versions and navigate to the version you want. 3. Tap Geocortex Mobile App Framework 2.0.1 (Android) to download the .apk file to your device. 4. On your device, open the Geocortex-Mobile-App-Framework-2.0.1.apk file. 5. Tap Install. The App is installed. 6. Tap Done. From the device, you can access the App by either: directly opening the App, clicking a link on a web page or in an email, or scanning a QR Code. You can also start the App by typing the launch URL into a web browser except for Chrome for Android, which does not handle these URLs properly. The newly-installed Geocortex Mobile App Framework contains a sample viewer and no resources. To add viewers or resources, see Add Viewers and Resources on page 9. To make the App easier to install, you can make the Geocortex-Mobile-App-Framework-2.0.1.apk file available on a server for your users to download onto their device. 2.3.2 About Registration Registering the Geocortex Mobile App Framework with an Essentials instance allows the App to offer viewers to add, or even download automatically. You only need to register the App once. There are a few ways to register the App: l Use a customized version of Geocortex Mobile App Framework (recommended) l Scan the QR code on the Essentials Registration web page l Register within the Geocortex Mobile App Framework l Use a Launch in Geocortex Mobile App Framework link 7 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 2.3.2 About Registration To use a customized version of Geocortex Mobile App Framework: This is the recommended method because end users will not need to register the application themselves. 1. Obtain a customized version of the Geocortex Mobile App Framework. To scan the QR code on the Essentials Registration web page: 1. On a different device, open the Essentials Registration web page for the instance of Essentials you want to register with Geocortex Mobile App Framework. For example, http://MyServer.com/Geocortex/Essentials/REST/EssentialsRegistration. 2. Use your device to scan the QR code that appears. Alternatively, if your device does not support scanning QR codes, you can manually enter the registration URL into your device's web browser. For example, gcx://essentialsinstance?url=http://MyServer.com/Geocortex/Essentials/REST. To register within the Geocortex Mobile App Framework: 1. In the Geocortex Mobile App Framework, on the Saved Viewers page, tap . 2. If the application has not yet been registered, you will be prompted to register it. If so, type the URL to your Geocortex Essentials instance and tap OK. For example, http://MyServer.com/Geocortex/Essentials/REST. To use a Launch in Geocortex Mobile App Framework link: 1. In Essentials Manager, edit the site that contains the viewer. 2. In the side panel, click Viewers, then click the Edit icon beside the viewer for which you generated the offline data. 3. The Launch in Geocortex Mobile App Framework link that appears is the launch link. A corresponding QR code appears when the mouse pointer is hovered over the QR code icon beside the link. 4. To load this viewer onto the device, do any of the following: l l Email the link to the device, then click the link in the email. Hover the mouse pointer over the QR Code icon and, if your device supports it, use the device to scan the QR code that appears. You can also start the App by typing the launch URL into a web browser except for Chrome for Android, which does not handle these URLs properly. The Geocortex Mobile App Framework opens and asks you to confirm whether you want to load this viewer. 5. To confirm you want to load this viewer, tap Yes. |8 Geocortex Mobile App Framework 2.0.1.Administrator Guide 2.3.3 Add Viewers and Resources The Geocortex Mobile App Framework is a native host application in which multiple viewers based on the Geocortex Viewer for HTML5 can run. Being a native app makes it possible for the viewers to access native functionality of the device, for example, to interface with the file system. Accessing the file system makes it possible to access enough storage to hold basemaps for offline use, which may be added via Resource URIs. 2.3.3.1 Add Viewers There are a few different ways to add viewers to the Geocortex Mobile App Framework: l Use the Geocortex Mobile App Framework to add a viewer l Use Essentials Manager to automatically add a viewer l Use the Launch in Geocortex Mobile App Framework link To use the Geocortex Mobile App Framework to add a viewer: 1. In Essentials Manager, edit the site that contains the viewer. 2. In the side panel, click Viewers, then click the Edit icon beside the desired viewer. 3. In the Viewer for HTML5 side panel, click Offline. 4. Select the Add to List of Available Viewers checkbox. If the site is secured, the viewer will only appear in the Available Viewers list if the user has permission to access the viewer. For information on setting permissions on viewers, see "Permissions" in the Geocortex Essentials Administrator Guide. 5. Click Apply Changes. 6. Click Save Site. 7. In the Geocortex Mobile App Framework, on the Saved Viewers page, tap . 8. If you are prompted to register your application, type the URL to your Geocortex Essentials instance and tap OK. For example, http://MyServer.com/Geocortex/Essentials/REST. 9. Tap the viewer you want to add. 10. Tap Save. To use Essentials Manager to automatically add a viewer: 1. In Essentials Manager, edit the site that contains the viewer. 2. In the side panel, click Viewers, then click the Edit icon 3. In the Viewer for HTML5 side panel, click Offline. 4. Select the Add to List of Available Viewers checkbox. 5. Select the Automatically download checkbox. 9 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. beside the desired viewer. 2.3.3 Add Viewers and Resources If the site is secured, the viewer will only appear in the Available Viewers list if the user has permission to access the viewer. For information on setting permissions on viewers, see "Permissions" in the Geocortex Essentials Administrator Guide. 6. Click Apply Changes. 7. Click Save Site. 8. In the Geocortex Mobile App Framework, ensure the viewer appears on the Saved Viewers page. If not, register the App with your Essentials instance. To use the Launch in Geocortex Mobile App Framework link: 1. In Essentials Manager, edit the site that contains the viewer. 2. In the side panel, click Viewers, then click the Edit icon beside the viewer for which you generated the offline data. 3. The Launch in Geocortex Mobile App Framework link that appears is the launch link. A corresponding QR code appears when the mouse pointer is hovered over the QR code icon beside the link. 4. To load this viewer onto the device, do any of the following: l l Email the link to the device, then click the link in the email. Hover the mouse pointer over the QR Code icon and, if your device supports it, use the device to scan the QR code that appears. You can also start the App by typing the launch URL into a web browser except for Chrome for Android, which does not handle these URLs properly. The Geocortex Mobile App Framework opens and asks you to confirm whether you want to load this viewer. 5. To confirm you want to load this viewer, tap Yes. If the App is not yet registered with an Essentials instance, using the Launch in Geocortex Mobile App Framework link will register it. 2.3.3.2 Resource URIs Resource URIs point to a resource file. When the URI is clicked, the file is loaded onto the device. Currently, two types of resource file are supported: l l Language files: Also called locale files, these contain the language strings for the user interface of the Geocortex Mobile App Framework, for example, gcxLang-pt-br.json for Portuguese (Brazil). See Translate the Geocortex Mobile App Framework on page 20 for more information. Tile cache files: Contain the tiles that make up a basemap and have a TPK extension. The URI to a resource must contain the name of the file and the URI to its location. Resources can be added and removed from the application. l To add a specific resource, use the URI: gcx://resource?action=download&url=[fully qualified URL of the resource]. | 10 Geocortex Mobile App Framework 2.0.1.Administrator Guide l 2.4 2.4.1 To remove a specific resource, use the URI: gcx://resource?action=remove&name=[the file name]. Upgrading Upgrade the Geocortex Mobile App Framework Before upgrading the Geocortex Mobile App Framework or the Geocortex Viewer for HTML5, to avoid losing any unsaved changes you must use the Sync tool for each viewer that has unsaved edits. The following instructions only apply if you are upgrading from version 1.x to 2.0.1. If you are upgrading from 2.0 to 2.0.1, you can skip these upgrade instructions and simply install as normal. We recommend you completely remove any previous version of the Geocortex Mobile App Framework 1.x installed before upgrading to the new version, but before doing so, you may want to copy any tile package (.TPK) files from your device to avoid downloading them again. The tile package files are located in the Geocortex folder within the root folder of the device. For more information, see Manually Copy a Pregenerated TPK to the Device. To upgrade the Geocortex Mobile App Framework from version 1.x: 1. Use the usual app removal method of your device to uninstall the Geocortex Mobile App Framework. 2. Within the root folder of your device, delete the Geocortex folder. 3. Install the Geocortex Mobile App Framework. 2.5 2.5.1 Configuration About Configuration The Geocortex Mobile App Framework for Android is configured in the following ways: l Obtain an ArcGIS Runtime SDK License l Configure offline settings for a viewer l Configure an Offline Basemap l Configure and Use an Offline Map 11 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 2.5.2 Obtain an ArcGIS Runtime SDK License 2.5.2 Obtain an ArcGIS Runtime SDK License Certain offline features require an ArcGIS Runtime SDK License. There are two kinds of ArcGIS Runtime SDK Licenses: l Basic: Allows you to use offline basemaps, global search, query, filter, identify, and view related features offline. The Geocortex Mobile App Framework is preconfigured with a Basic license by default. Custom Offline Basemaps require your ArcGIS basemaps to have the ExportTiles operation enabled, which is available in ArcGIS Server 10.2.1 and later. For more information, see Allow clients to export cache tiles in Esri's online documentation. l Standard: Required for offline editing. To enable offline editing, you must first prepare your ArcGIS feature services for offline use. Ensure each has the sync capability enabled, the Global ID field added to their data, archiving or versioning enabled on their data, and their relationships and attachments configured with a Global ID primary key. For more information, see Prepare data for offline use in Esri's online documentation. There are a few methods to license your App: l Use a Basic license Client ID Use this method if you do not need offline editing. Although the App is preconfigured with a Basic license by default, you can optionally use your own Basic license by visiting a link with your device. l Use a Standard license code Use this method if you need offline editing, and your App will be offline for 30 days or more. This method involves adding a Standard license code to the App by visiting a link with your device. You must purchase a Standard license code from Esri. l Use ArcGIS Online or Portal for ArcGIS Use this method if your App will be signed into ArcGIS Online or your Portal for ArcGIS at least every 30 days. This method grants functionality equivalent to a Standard license, and is only available to ArcGIS Online and Portal for ArcGIS customers. If you fail to sign in after 30 days, functionality will be reduced to the equivalent of a Basic license until you sign in again. For more information about obtaining an ArcGIS Runtime SDK License, see Esri's online documentation. To use a Basic license Client ID to license your App: As the Geocortex Mobile App Framework is preconfigured with a Basic license by default, there is usually nothing to configure if you only want to use a Basic license. However, if you want to explicitly use your own Basic license, use the following instructions to set the Client ID to your own. 1. Contact your local Esri representative to obtain an ArcGIS Runtime SDK Basic license Client ID. This license is free to subscribers of ArcGIS for Developers. | 12 Geocortex Mobile App Framework 2.0.1.Administrator Guide 2. In the web browser of your device, open the following specially-crafted URL: gcx://arcgislicensing?arcgisclientid=MyClientID Ensure you replace the value of the arcgisclientid parameter with your own ArcGIS Client ID. To make this URL easy for your users to visit, create a QR code for your users to scan. To use a Standard license code to license your App: 1. Contact your local Esri representative to purchase an ArcGIS Runtime SDK Standard license code. 2. In the web browser of your device, open the following specially-crafted URL: gcx://arcgislicensing?arcgislicensecode= runtimestandard,101,rux00000,none,XXXXXXX Ensure you replace the value of the arcgislicensecode parameter with your own ArcGIS license code. Some browsers may handle commas in URLs differently. If you are still unable to license the App, try to URL-encode the license code in the URL. This will replace each comma (,) with %2C. You can optionally set the ArcGIS Client ID by using the arcgisclientid URL parameter. For example, gcx://arcgislicensing?arcgisclientid=MyClientID To make this URL easy for your users to visit, create a QR code for your users to scan. To use ArcGIS Online or Portal for ArcGIS to license your App: 1. Contact your local Esri representative to become an ArcGIS Online or Portal for ArcGIS customer. 2. Open the Geocortex Mobile App Framework. 3. Tap Sign In. 4. Sign into your ArcGIS Online or Portal for ArcGIS account. 2.5.3 Configure the Offline Settings of a Viewer To configure the offline settings of a viewer: 1. In Essentials Manager, edit the site that contains the viewer. 2. In the side panel, click Viewers, then click the Edit icon beside the desired viewer. 3. In the Viewer for HTML5 side panel, click Offline. 4. To offer this viewer to be added in the Geocortex Mobile App Framework, select the Add to list of Available Viewers checkbox. 13 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 2.5.4 Configure an Offline Basemap If the site is secured, the viewer will only appear in the Available Viewers list if the user has permission to access the viewer. For information on setting permissions on viewers, see "Permissions" in the Geocortex Essentials Administrator Guide. 5. To automatically download this viewer in the Geocortex Mobile App Framework, select the Automatically download checkbox. 6. Click Apply Changes. 7. In the Viewer for HTML5 side panel, click Toolbar. 8. In the Configured Toolbar section, ensure the Offline Maps tool tool is present. If not, drag the Offline Maps from the Available Tools section to the Configured Toolbar section. 9. Click Apply Changes. 10. Click Save Site. 2.5.4 Configure an Offline Basemap An offline basemap can be used in an Offline Map to provide a basemap in the Geocortex Mobile App Framework even when the device lacks network connectivity. There are two kinds of offline basemap: l l 2.5.4.1 Pre-generated Offline Basemaps: These pre-generated basemaps can be made available offline in the Geocortex Mobile App Framework by being used in an Offline Map. Each of these basemaps is associated with a tile package (TPK) file, and can be shared by multiple Offline Maps. Custom Offline Basemaps: Custom Offline Basemaps have their TPK files generated when the end user first syncs the associated Offline Map. In Essentials, Custom Offline Basemaps are either basemaps that contain at least one ArcGIS Tiled Map service supporting the ExportTiles operation, or basemaps that have their Export Tiles Override property set. Each Custom Offline Basemap is associated with a single Offline Map. Pre-generated Offline Basemaps A Pre-generated Offline Basemap can be added to an Offline Map, which allows end users of the Geocortex Mobile App Framework to view basemaps even without network connectivity. Each Pre-generated Offline Basemap is associated with a tile package (TPK) file, and can be shared by multiple Offline Maps. Since they are pre-generated, their extents and levels of detail cannot be changed after being downloaded by users. 2.5.4.1.1 Configure a Pre-generated Offline Basemap There are two ways to add a Pre-generated Offline Basemap: l Use an existing TPK l Use a map service supporting the ExportTiles operation to generate a TPK file Once you have added a Pre-generated Offline Basemap, you can use it in an Offline Map. Ensure that your tile package (TPK) files are hosted in a location that your users can access. | 14 Geocortex Mobile App Framework 2.0.1.Administrator Guide To use an existing TPK: 1. In Manager, edit the site you want to configure. 2. Click Offline in the side panel. 3. Click the Offline Basemaps tab. 4. Click Add Offline Basemap. 5. Select Use an existing TPK, and click Next. 6. Select one of the following: l Use the URL of an existing TPK file available online: In the TPK URL box, type the URL of the tile package (TPK) file. End users will download the TPK directly from the server specified. The TPK will not be copied to the Essentials server. l Use a TPK file already on the server: From TPK File menu, select the tile package (TPK) file on the server. By default, these files are located in: C:\Program Files (x86)\Latitude Geographics\Geocortex Essentials\Default\REST Elements\Sites\TPKs. 7. Click Next. 8. In the Display Name box, type a display name for the Pre-generated Offline Basemap, and click Finish. 9. Click Save Site. You can now add your Pre-generated Offline Basemap to an Offline Map. To use a map service supporting the ExportTiles operation to generate a TPK file: 1. In Manager, edit the site you want to configure. 2. Click Offline in the side panel. 3. Click the Offline Basemaps tab. 4. Click Add Offline Basemap. 5. Select Use a map service supporting the ExportTiles operation to generate a TPK file, and click Next. 6. In the Map Service URL box, type the URL of the tile package (TPK) file, and click Next. 7. Click Extent, and pan and zoom the map to the extent you want to be available offline. 8. Click Max Resolution, and zoom the map to the maximum level of detail you want to be available offline. 9. Click Next. 15 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 2.5.4 Configure an Offline Basemap 10. In the Display Name box, type a display name for the Pre-generated Offline Basemap, and click Finish. The TPK file representing the basemap will start being generated. When it is completed, its Status will become Ready. You do not need to wait for the TPK file to complete before moving to the next step. By default, the file will be located in: C:\Program Files (x86)\Latitude Geographics\Geocortex Essentials\Default\REST Elements\Sites\TPKs 11. Click Save Site. You can now add your Pre-generated Offline Basemap to an Offline Map. 2.5.4.1.2 Manually Copy a Pre-generated TPK to the Device Normally, the TPK files of any Pre-generated Offline Basemaps are automatically downloaded to the device when the user syncs an Offline Map that includes them. If a TPK file is very large and you do not want to download it in this manner, you can manually copy the TPK file to your device instead. The following procedure is entirely optional. To manually copy a Pre-generated TPK to the device: 1. On the Essentials server, within the Essentials TPKs folder, locate the TPK file of the Pre-generated Offline Basemap. By default, this folder is located at: C:\Program Files (x86)\Latitude Geographics\Geocortex Essentials\Default\REST Elements\Sites\TPKs 2. Copy the TPK file to your device in the following folder: Android\data\TPKs\Geocortex.App\files 2.5.4.2 Custom Offline Basemaps Custom Offline Basemaps have their TPK files generated when the end user first syncs the associated Offline Map. In Essentials, Custom Offline Basemaps are either basemaps that contain at least one ArcGIS Tiled Map service supporting the ExportTiles operation, or basemaps that have their Export Tiles Override property set. Each Custom Offline Basemap is associated with a single Offline Map. You can configure the maximum level of detail and a refresh interval for the Custom Offline Basemap when it is added to an Offline Map. When an Offline Map containing a Custom Offline Basemap is deleted, the Custom Offline Basemap is also deleted. If your basemap contains an ArcGIS Tiled Map Service that supports the ExportTiles operation, there is nothing to configure: your basemap can be included in an Offline Map as a Custom Offline Basemap. If not, you can do one of the following: l l Use ArcMap to edit your ArcGIS Tiled Map Service to allow clients to export cache tiles. If your basemap contains at least one ArcGIS Tiled Map Service, can use Essentials to turn the basemap into a Custom Offline Basemap. | 16 Geocortex Mobile App Framework 2.0.1.Administrator Guide To turn a basemap into a Custom Offline Basemap: 1. In Essentials, edit the site that you want to configure, and then click Basemaps in the side panel. 2. In the list of basemaps, click the basemap that you want to edit, or hover the pointer over the basemap. The management tools appear. 3. Click the Edit tool. 4. Edit the following setting: l Export Tiles Override: An optional URL of an ArcGIS Tiled Map Service supporting the Export Tiles operation. This service is used to override the basemap's ExportTiles operation. For example: http://MyServer.com/arcgis/rest/services/MyMapService/MapServer This setting is used to define Custom Offline Basemaps, and is only available for basemaps containing at least one ArcGIS Tiled Service. 5. Click OK. 6. Click Apply Changes. 7. Click Save Site. You can now add your Custom Offline Basemap to an Offline Map. 2.5.5 Configure and Use an Offline Map To use the Geocortex Mobile App Framework offline, an end user must use an Offline Map. An Offline Map specifies the map area, feature layers, and basemaps that can be made available offline in the Geocortex Mobile App Framework. End users can choose to download an Offline Map that suits their needs, or create their own. Once the end user has finished editing an Offline Map and has network connectivity again, they can use the Offline Map's Sync button to synchronize any changes to the Offline Map with the server and vice versa. When you use an Offline Map, the offline data on the device is preferred over that of the Essentials server even if the device has network connectivity. When a viewer is reloaded in the Geocortex Mobile App Framework, the previouslyactive Offline Map remains active. Because of this, if you want any changes in the site to be reflected in the Geocortex Mobile App Framework once you have regained network connectivity, you must use the Offline Maps tool to Go Online, return to the Saved Viewers page, and reload the viewer. If you want to allow users who are not signed in to view Offline Maps: in Manager, click Security & Data, click Policies, and select Allow Public Read Access. Anonymous users cannot edit Offline Maps. Deleting an Offline Map will also delete any associated Custom Offline Basemaps, but not Pre-generated Offline Basemaps. The ZoomToOfflineMapExtent command can be used to zoom the map to the extent of the Offline Map currently being used. You can add an Offline Map using either Essentials Manager or the Geocortex Mobile App Framework. 17 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 2.5.5 Configure and Use an Offline Map To add an Offline Map: 1. Do one of the following: l In Manager: a. Edit the site you want to configure. b. Click Offline in the side panel. c. Click the Offline Maps tab. The Offline Maps section appears. l In the Geocortex Mobile App Framework: a. Tap Sign In, and sign in with your user credentials. b. Open the viewer to which you want to add an Offline Map. c. If necessary, tap d. Tap Offline Maps to open the toolbar. . The Offline Maps panel appears. e. In the Offline Maps panel, tap the Panel Actions Menu button . The Panel Actions Menu opens. f. Tap Manage. The Manage Offline Maps panel appears. 2. Click/tap New. The New Offline Map panel appears. 3. In the Name box, type a name for the Offline Map. After typing a name for the Offline Map, you can click/tap Finish at any time to accept the default settings for a new Offline Map. By default, the offline map area of interest is set to the initial extent, all feature layers and attachments are included for offline use, no offline basemaps are included, and the Offline Map is not shared. 4. Click/tap Area of Interest. The Select Area of Interest panel appears. 5. Select one of the selection tools, and use it to select the area of the map that you want to use offline. 6. Click/tap Back. The New Offline Map panel reappears. 7. Click/tap Layers. The Select Layers panel appears. 8. Select the feature layers you want to be available offline. If you want restrict the number of features of a layer, click/tap to set a definition expression for the layer. This is equivalent to a WHERE clause in SQL. For example, TYPE = 'Residential'. | 18 Geocortex Mobile App Framework 2.0.1.Administrator Guide 9. If you want feature attachments to be included offline, select the Include Attachments checkbox. 10. Click/tap Back. The New Offline Map panel reappears. 11. Click/tap Basemaps. The Select Basemaps panel appears. 12. For each of your basemaps, select one of the following: l l None: If you don't want to use a basemap offline. Pre-generated: If you want to use a Pre-generated Offline Basemap from the Offline Basemaps page in Essentials Manager: a. From the drop-down menu, select the Pre-generated Offline Basemap you want to use offline. l Custom: If you want to use a Custom Offline Basemap from the Basemaps page in Essentials Manager: a. Click/tap Edit. The Offline Basemap Detail panel opens. b. Use the slider to select the level of detail you want to be available offline. c. Click/tap Done. d. In the Days Between Refresh box, type the period of days to wait until the TPK file should regenerate when the user syncs the Offline Map. 13. Click/tap Back. The New Offline Map panel reappears. 14. Click/tap Sharing. The Sharing panel appears. 15. To share the Offline Map with others, do one of the following: l Share with an individual user: a. From the drop-down menu, select Individuals. b. In the Search box, type the name of the user you want to share with. c. Click/tap Add. The user is added to the list of those to share with. l Share with a group of users: a. From the drop-down menu, select Groups. b. In the Search box, type the name of the group of users you want to share with. c. Click/tap Add. The group is added to the list of those to share with. Repeat this step to share the Offline Map with as many users or groups as you want. 19 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 2.6 Translation 16. For each user and group in the list, select one of the sharing options: l None: If you do not want to share the Offline Map with this user or group. l View: If you want this user or group to be able to view the Offline Map, but not edit it. l Edit: If you want this user or group to be able to view and edit the Offline Map. 17. Click/tap Back. The New Offline Map panel reappears. 18. Click/tap Finish. To use an Offline Map: 1. In the Geocortex Mobile App Framework, open a viewer for a site that contains Offline Maps. 2. If necessary, tap to open the toolbar. 3. Tap the Offline Maps tool . The Offline Maps panel appears. 4. Tap the Offline Map you want to use. Offline Maps yet to be downloaded are marked with a download icon . 5. If prompted to confirm you want to download the Offline Map, tap OK. The Offline Map starts to download. After the Offline Map has finished downloading, it becomes active. If you want to return to only using online data, tap Go Online. 6. While your Offline Map is active, you can browse and edit features on the map even without network connectivity. 7. When you regain network connectivity, tap the Offline Map's Sync button . The synchronization process starts. When finished, your edits are synchronized with the server and your Offline Map is also updated. 2.6 2.6.1 Translation Translate the Geocortex Mobile App Framework The Geocortex Mobile App Framework supports translation by using locale files. A locale file contains all the words for the user interface in a particular language. Once a locale file has been created in the desired language, you can load the translated file into the App on a device in the same way as a resource—by using a resource URI. You can send the URI of the locale file in an email, add it to a button or a link on a website, or use any other method to send the link. | 20 Geocortex Mobile App Framework 2.0.1.Administrator Guide The locale file must contain the code for that language in the name of the file like this: gcxLang-[language code]-[country code].json For example, gcxLang-en-ca.json for Canadian English. The [language code] is a language code from the ISO 639-1 standard. The [country code] is a country code from the ISO 3166-1 standard. When you click the URL to the locale file, the file is downloaded to the device. You must then set the locale of the device to the translated language. When you reopen the App, it checks the locale setting of the device, then searches for the translated locale file in the downloaded content. If the locale file matches the locale setting on the device, the App opens in the translated language. If an appropriate locale file is not found, the application opens in the default language (English). Viewers inside the Geocortex Mobile App Framework are translated separately using the normal translation procedure outlined in the Translation section of the Geocortex Viewer for HTML5 Administrator and Developer Guide. See Add Viewers and Resources on page 9 for instructions on adding a viewer. An example of a locale file is included within the Geocortex Mobile App Framework APK file in the following location: assets\www\Resources\Locales\gcxLang-en-us.json. 3 3.1 Geocortex Mobile App Framework for iOS About Customized Versions In the case of the Geocortex Mobile App Framework for iOS, you must obtain customized version, which offers the following benefits: l Preregister the App with Essentials l Preconfigure the ArcGIS Runtime SDK License l Use the App in a Mobile Device Management (MDM) software environment l Customize the appearance of the App, such as the icon, name, and splash screen To obtain a fully-customized version of the Geocortex Mobile App Framework, you must contact Geocortex Support ([email protected]) to provide some information. The information required depends on what kind of customized version of Geocortex Mobile App Framework you want: l Obtain a customized Multi-Viewer Application Choose this if you want to allow the user to select which viewer to open when the Geocortex Mobile App Framework starts. l Obtain a customized Single-Viewer Application Choose this if you want a specific viewer to open automatically when the Geocortex Mobile App Framework starts. 21 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 3.1.1 Obtain a Customized Multi-Viewer Application 3.1.1 Obtain a Customized Multi-Viewer Application To obtain a customized version of the Geocortex Mobile App Framework that supports multiple viewers, you must provide Geocortex Support ([email protected]) with the following information: l The platforms for which you want customized versions, namely: Android, iOS and Windows l Your Essentials instance URL. For example, http://MyServer.com/Geocortex/Essentials l The type of Mobile Device Management (MDM) software you intend to use, if applicable l Add [email protected] as an Admin to your Apple Enterprise Developer account. This allows us to sign the App so that it may be distributed exclusively to members of your organization Alternatively, you can provide Geocortex Support with your PKCS (Public-Key Cryptography Standards) #12 (.p12) file that contains your signing certificate, and your Mobile Provision (.mobileprovision) file from the Apple iOS Developer website. You may optionally provide the following information: 3.1.2 l Your ArcGIS Runtime SDK License Code l Your ArcGIS Client ID l The App name l The App icon l The splash screen images Obtain a Customized Single-Viewer Application To obtain a customized version of the Geocortex Mobile App Framework that only contains a single viewer, you must provide Geocortex Support ([email protected]) with the following information: l l The platforms for which you want customized versions, namely: Android, iOS and Windows The viewer's Launch in Geocortex Mobile App Framework link. This link appears on the Viewer Info page when you edit your HTML5 Viewer in Essentials. You can right-click the link and click Copy Link Location, Copy link address or Copy shortcut. For example, gcx://viewerPackage?url=http://MyServer.com/Html5Viewer/gmaf/viewerpackage.ashx?view erUrl=http://MyServer.com/Geocortex/Essentials/REST/sites/MySite/viewers/MyViewer l l The type of Mobile Device Management (MDM) software you intend to use, if applicable Add [email protected] as an Admin to your Apple Enterprise Developer account. This allows us to sign the App so that it may be distributed exclusively to members of your organization Alternatively, you can provide Geocortex Support with your PKCS (Public-Key Cryptography Standards) #12 (.p12) file that contains your signing certificate, and your Mobile Provision (.mobileprovision) file from the Apple iOS Developer website. | 22 Geocortex Mobile App Framework 2.0.1.Administrator Guide You may optionally provide the following information: 3.2 3.2.1 l Your ArcGIS Runtime SDK License Code l Your ArcGIS Client ID l The App name l The App icon l The splash screen image Requirements Operating Systems The Geocortex Mobile App Framework for iOS supports iOS 8.0 and greater. iOS does not support ZIP files. To use Export features that produce ZIP files in iOS, you must install third-party software to handle ZIP files, such as iZip. While the Geocortex Mobile App Framework is not specifically tested to work with Mobile Device Management (MDM) software, Geocortex Support endeavors to help customers run the App in an MDM environment. If a customer cannot run the App with their particular MDM, we will try to find a solution within a reasonable time frame. Some Mobile Device Management (MDM) software such as Citrix XenMobile require a customized version of the Geocortex Mobile App Framework. For more information, see About Customized Versions. 3.2.2 Devices Currently all versions of iPhone, iPad, and iPod Touch are supported if they are capable of running iOS 8.0 or greater. 3.2.3 Apple Enterprise Developer Account In order to deploy the Geocortex Mobile App Framework for iOS within your organization, you require an Apple Enterprise Developer License. The license provides a safe and secure channel for distributing the application to your users. See About Deployment on page 29 for more information. 3.2.4 Server A server is necessary to host the application and provide a download URL for users to access the application. Any web server capable of serving files can be used, but it must be configured to serve .IPA, .PLIST, .TPK, and .JSON files. If you use Internet Information Services (IIS), you will need to add new MIME types for each of these file extensions. 23 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 3.2.5 Geocortex Software 3.2.4.1 MIME Types In order to host the iOS deployment package, your web server needs to serve the following MIME types: l .IPA l .PLIST l .TPK l .JSON You can add the MIME types at any point in the folder hierarchy of the server. The higher in the folder structure you add the MIME types, the greater the scope they have. You can only add one MIME type at a time. The procedure below must be repeated for each new MIME type. To add the MIME types to IIS: 1. To open IIS Manager, click the Windows Start button, type iis, and click Internet Information Services (IIS) Manager. 2. In the IIS section of the middle panel, double-click MIME Types . 3. In the Actions panel on the right, click Add. 4. In the Add MIME Type window, type the following for each different MIME type: l .IPA, .PLIST, .TPK: In the File name extension text box, type .ipa, or .plist, or .tpk. In the MIME Type text box, type application/octet-stream. l .JSON: In the File name extension text box, type .json. For example, for language resource files (gcxLang-enus.json). In the MIME Type text box, type application/json. 5. Click OK and close IIS Manager. 3.2.5 Geocortex Software The Geocortex Mobile App Framework 2.0.1 for iOS works with: l Geocortex Essentials 4.5 or higher l Geocortex Viewer for HTML5 version 2.6.1 or higher | 24 Geocortex Mobile App Framework 2.0.1.Administrator Guide If Internet Information Services (IIS) is configured to deny anonymous access for either Essentials or the HTML5 Viewer, Geocortex Mobile App Framework may not work properly. For information about requirements for past versions, see Historical Requirements on page 76. 3.2.6 Offline Requirements As of version 1.3.2, the Geocortex Mobile App Framework makes use of the HTML5 Viewer proxy page. You must configure the HTML5 Viewer proxy page to communicate with trusted servers such as the Essentials server, otherwise the application may not function properly. For more information, see "Set Up a Proxy Page" in the Geocortex Viewer for HTML5 Administrator and Developer Guide. To ensure the Geocortex Mobile App Framework functions properly, you must set up CORS (Cross-Origin Resource Sharing) in Essentials. To do so, you must remove any previous CORS configuration, run and complete the Post Installer, and ensure the RestAppSettings.xml file in your Sites folder has an <AllowOrigins> element that contains <Origin Url="http://127.0.0.1:8181" />. For more information, see "Set Up Cross-Origin Resource Sharing (CORS)" in the Geocortex Essentials Installation Guide. Certain offline features require an ArcGIS Runtime SDK License. There are two kinds of ArcGIS Runtime SDK Licenses: l Basic: Allows you to use offline basemaps, global search, query, filter, identify, and view related features offline. The Geocortex Mobile App Framework is preconfigured with a Basic license by default. Custom Offline Basemaps require your ArcGIS basemaps to have the ExportTiles operation enabled, which is available in ArcGIS Server 10.2.1 and later. For more information, see Allow clients to export cache tiles in Esri's online documentation. l Standard: Required for offline editing. To enable offline editing, you must first prepare your ArcGIS feature services for offline use. Ensure each has the sync capability enabled, the Global ID field added to their data, archiving or versioning enabled on their data, and their relationships and attachments configured with a Global ID primary key. For more information, see Prepare data for offline use in Esri's online documentation. For more information, see Obtain an ArcGIS Runtime SDK License on page 34. 3.2.7 Secured ArcGIS Services We recommend you avoid securing your ArcGIS services with Basic Authentication because editing will not work; use Windows Authentication instead. If your site contains ArcGIS services that are secured with Windows Authentication, you must configure the HTML5 Viewer's proxy page, and configure the IIS authentication settings for the HTML5 Viewer to enable Windows Authentication. For more information, see "Set Up a Proxy Page" in the Geocortex Viewer for HTML5 Administrator and Developer Guide. When accessing a secured ArcGIS service, you may be prompted to enter your user credentials. 25 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 3.3 Installation 3.3 3.3.1 Installation Install the Geocortex Mobile App Framework Before upgrading the Geocortex Mobile App Framework or the Geocortex Viewer for HTML5, to avoid losing any unsaved changes you must use the Sync tool for each viewer that has unsaved edits. If the Geocortex Mobile App Framework is distributed via an intranet, the device must be connected by WiFi or directly, to the same intranet in order for users to download the application. If the Geocortex Mobile App Framework is on a server that is accessible to the device via the Internet, downloading is done using a specially formatted iOS URI, for example: itms-services://?action=downloadmanifest&url=https://MyCompany.com/MyPath/GeocortexApp.plist. The url parameter must use the https protocol with a trusted certificate. The certificate cannot be self-signed. From the device, you can access the application by typing a URL into Safari, by clicking a link on a web page or in an email, or by scanning a QR Code. The link prompts you to install the App on your device. After installing, you may need to trust the App before you can open it. To trust the Geocortex Mobile App Framework for iOS: 1. On your device, tap Settings. 2. Tap General. 3. Tap Profiles or Profiles & Device Management. 4. Under the ENTERPRISE APP heading, tap the name of the company by which the App was published. For example, MyCompanyName. 5. Tap Trust "MyCompanyName". For more information about trusting an app, see Guidelines for installing custom enterprise apps on iOS on the Apple website. From the device, you can access the App by either: directly opening the App, typing a URL into a web browser, clicking a link on a web page or in an email, or scanning a QR Code. The newly-installed Geocortex Mobile App Framework contains a sample viewer and no resources. To add viewers or resources, see Add Viewers and Resources on page 27. | 26 Geocortex Mobile App Framework 2.0.1.Administrator Guide 3.3.2 About Registration Registering the Geocortex Mobile App Framework with an Essentials instance allows the App to offer viewers to add, or even download automatically. In the case of the Geocortex Mobile App Framework for iOS, obtain a customized version that is registered with your Essentials instance. 3.3.3 Add Viewers and Resources The Geocortex Mobile App Framework is a native host application in which multiple viewers based on the Geocortex Viewer for HTML5 can run. Being a native app makes it possible for the viewers to access native functionality of the device, for example, to interface with the file system. Accessing the file system makes it possible to access enough storage to hold basemaps for offline use, which may be added via Resource URIs. 3.3.3.1 Add Viewers There are a few different ways to add viewers to the Geocortex Mobile App Framework: l Use the Geocortex Mobile App Framework to add a viewer l Use Essentials Manager to automatically add a viewer l Use the Launch in Geocortex Mobile App Framework link To use the Geocortex Mobile App Framework to add a viewer: 1. In Essentials Manager, edit the site that contains the viewer. 2. In the side panel, click Viewers, then click the Edit icon beside the desired viewer. 3. In the Viewer for HTML5 side panel, click Offline. 4. Select the Add to List of Available Viewers checkbox. If the site is secured, the viewer will only appear in the Available Viewers list if the user has permission to access the viewer. For information on setting permissions on viewers, see "Permissions" in the Geocortex Essentials Administrator Guide. 5. Click Apply Changes. 6. Click Save Site. 7. In the Geocortex Mobile App Framework, on the Saved Viewers page, tap . 8. If you are prompted to register your application, type the URL to your Geocortex Essentials instance and tap OK. For example, http://MyServer.com/Geocortex/Essentials/REST. 9. Tap the viewer you want to add. 10. Tap Save. 27 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 3.3.3 Add Viewers and Resources To use Essentials Manager to automatically add a viewer: 1. In Essentials Manager, edit the site that contains the viewer. 2. In the side panel, click Viewers, then click the Edit icon beside the desired viewer. 3. In the Viewer for HTML5 side panel, click Offline. 4. Select the Add to List of Available Viewers checkbox. 5. Select the Automatically download checkbox. If the site is secured, the viewer will only appear in the Available Viewers list if the user has permission to access the viewer. For information on setting permissions on viewers, see "Permissions" in the Geocortex Essentials Administrator Guide. 6. Click Apply Changes. 7. Click Save Site. 8. In the Geocortex Mobile App Framework, ensure the viewer appears on the Saved Viewers page. If not, register the App with your Essentials instance. To use the Launch in Geocortex Mobile App Framework link: 1. In Essentials Manager, edit the site that contains the viewer. 2. In the side panel, click Viewers, then click the Edit icon beside the viewer for which you generated the offline data. 3. The Launch in Geocortex Mobile App Framework link that appears is the launch link. A corresponding QR code appears when the mouse pointer is hovered over the QR code icon beside the link. 4. To load this viewer onto the device, do any of the following: l l l Email the link to the device, then click the link in the email. Hover the mouse pointer over the QR Code icon and, if your device supports it, use the device to scan the QR code that appears. Type the URL into the address bar of a web browser on the device. The Geocortex Mobile App Framework opens and asks you to confirm whether you want to load this viewer. 5. To confirm you want to load this viewer, tap Yes. If the App is not yet registered with an Essentials instance, using the Launch in Geocortex Mobile App Framework link will register it. 3.3.3.2 Resource URIs Resource URIs point to a resource file. When the URI is clicked, the file is loaded onto the device. Currently, two types of resource file are supported: l Language files: Also called locale files, these contain the language strings for the user interface of the Geocortex Mobile App Framework, for example, gcxLang-pt-br.json for Portuguese (Brazil). See Translate the | 28 Geocortex Mobile App Framework 2.0.1.Administrator Guide Geocortex Mobile App Framework on page 44 for more information. l Tile cache files: Contain the tiles that make up a basemap and have a TPK extension. The URI to a resource must contain the name of the file and the URI to its location. Resources can be added and removed from the application. l l 3.4 3.4.1 To add a specific resource, use the URI: gcx://resource?action=download&url=[fully qualified URL of the resource]. To remove a specific resource, use the URI: gcx://resource?action=remove&name=[the file name]. Upgrading Upgrade the Geocortex Mobile App Framework Before upgrading the Geocortex Mobile App Framework or the Geocortex Viewer for HTML5, to avoid losing any unsaved changes you must use the Sync tool for each viewer that has unsaved edits. The following instructions only apply if you are upgrading from version 1.x to 2.0.1. If you are upgrading from 2.0 to 2.0.1, you can skip these upgrade instructions and simply install as normal. We recommend you completely remove any previous version of the Geocortex Mobile App Framework 1.x installed before upgrading to the new version, but before doing so, you may want to copy any tile package (.TPK) files from your device to avoid downloading them again. The tile package files can be retrieved via iTunes. For more information, see Manually Copy a Pre-generated TPK to the Device. To upgrade the Geocortex Mobile App Framework from version 1.x: 1. Use the usual app removal method of your device to uninstall the Geocortex Mobile App Framework. 2. Install the Geocortex Mobile App Framework. 3.5 3.5.1 Deployment About Deployment Because the Geocortex Mobile App Framework runs on Apple devices, it has to be deployed according to Apple's distribution guidelines. Apple supports two types of distribution models for apps: l iTunes Store: The application goes through a stringent review process before it is accepted into the iTunes Store, from where it can be downloaded, either as a paid or free app. This model is not particularly suitable for the standard multi-viewer Geocortex Mobile App Framework because of the extremely high degree of configurability and customization that the Geocortex Mobile App Framework allows, in particular, the fact that you can add viewers with customized interfaces. 29 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 3.5.2 Create an Apple Enterprise Developer Account l Enterprise: The organization hosting the Geocortex Mobile App Framework creates an Apple Enterprise Developer account. The organization creates and controls an Apple ID, which is used to update, manage and distribute apps. Apps are hosted on an enterprise server or network. To receive new or updated apps, each iOS device connects via a URL or QR code to the server or network. The Geocortex Mobile App Framework uses the Enterprise model for deployment. The Enterprise model is in place to ensure that only trusted applications are loaded onto Apple devices. 3.5.1.1 Summary of the Deployment Process 1. Create an Apple Enterprise Developer Account. See Create an Apple Enterprise Developer Account on page 30 for more information. 2. Add a Latitude Geographics representative as Admin to your Apple Enterprise Developer Account. The Enterprise Developer account only allows distribution internally to your organization. 3. The Latitude Geographics representative creates a signed distribution package of the Geocortex Mobile App Framework for your organization. 4. Receive the signed distribution package and host it on a server. 5. Provide your users with the URL or QR code to access and download the App to their device. 6. Add viewers and resources to the App. 3.5.2 Create an Apple Enterprise Developer Account To create an Apple Enterprise Developer (AED) account, go to the iOS Developer Enterprise Program web page, click Apply Now, and follow the instructions. | 30 Geocortex Mobile App Framework 2.0.1.Administrator Guide Each AED account is given an Agent, who is the owner of the account. The Agent cannot be deleted and has full rights to all activities on the account. The Agent can set up other levels of user including: l l Admins - can create or delete other users, create certificates, application identifiers, provisioning profiles, and add devices. Developers - can download their own development certificates, and provisioning profiles. Once your AED is set up, you need to add a Latitude Geographics representative to the account as an Admin user. 3.5.3 Set Up an Admin User Account for Latitude Geographics To make it possible for Latitude Geographics to create a signed distribution package of the Geocortex Mobile App Framework for your organization, you need to give a Latitude Geographics representative access to your AED account as an Admin user. The representative will create a signed distribution package that you will host and distribute. To set up a Latitude Geographics Admin: 1. Sign in to the Apple Developer Center as an Admin user for your organization. 2. On the banner, select People. 3. From the side panel, select Invitations. 4. In the Invite People to your Team area, click Invite Person. 31 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 3.5.3 Set Up an Admin User Account for Latitude Geographics 5. Under Contact Information, enter the following: l First Name: The first name of your Latitude Geographics representative. You will receive the name of your representative by email. If you do not know their name, please contact your account manager. l Last Name: The last name of the representative. l Email Address: [email protected] 6. In the Access and Roles area, select Admin, and then click Send Invitation. 3.5.3.1 Send the Host Location to Your Representative Once you have added the Latitude Geographics user to your organization's Apple account, you will need to send an email to [email protected] with the location on the server where you will be deploying the signed application. This is the location that you will send to your users to install the Geocortex Mobile App Framework, for example, http://www.mycompany.com/geocortex_app/install. Once Latitude Geographics receives the invitation and the URL email, they will create your signed distribution package. | 32 Geocortex Mobile App Framework 2.0.1.Administrator Guide 3.5.4 Receive and Deploy the Distribution Package The Latitude Geographics representative signs the application for your organization and creates a distribution package that contains the following: l Readme.txt: Contains instructions and a list of contents. l Index.html: Allow users visiting this address to easily install the app by pressing a link. l .PLIST file: A file that instructs Apple devices on how to install the Geocortex Mobile App Framework. l Signed .IPA file: The distribution package for your organization. l gcxLang-en-us.json: This is an example locale file used for translating the App. To deploy the app: 1. Unzip the contents of this ZIP file to the location on your server that matches the URL you sent via email to Latitude Geographics. To secure the App installer, we recommend keeping it within a VPN (Virtual Private Network) because applying password protection to the App installer by enabling IIS authentication may prevent users from installing the App. It is important to use the same location as this has been built into the distribution package. For example, if http://www.mycompany.com/geocortex_app/install is run on an IIS server and this location is associated with C:\inetpub\wwwroot\geocortex_app\install on your IIS server, you would unzip the distribution package to C:\inetpub\wwwroot\geocortex_app\install. 3.6 3.6.1 Configuration About Configuration The Geocortex Mobile App Framework for iOS is configured in the following ways: l Obtain an ArcGIS Runtime SDK License l Configure offline settings for a viewer l Configure an Offline Basemap l Configure and Use an Offline Map 33 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 3.6.2 Obtain an ArcGIS Runtime SDK License 3.6.2 Obtain an ArcGIS Runtime SDK License Certain offline features require an ArcGIS Runtime SDK License. There are two kinds of ArcGIS Runtime SDK Licenses: l Basic: Allows you to use offline basemaps, global search, query, filter, identify, and view related features offline. The Geocortex Mobile App Framework is preconfigured with a Basic license by default. Custom Offline Basemaps require your ArcGIS basemaps to have the ExportTiles operation enabled, which is available in ArcGIS Server 10.2.1 and later. For more information, see Allow clients to export cache tiles in Esri's online documentation. l Standard: Required for offline editing. To enable offline editing, you must first prepare your ArcGIS feature services for offline use. Ensure each has the sync capability enabled, the Global ID field added to their data, archiving or versioning enabled on their data, and their relationships and attachments configured with a Global ID primary key. For more information, see Prepare data for offline use in Esri's online documentation. There are a few methods to license your App: In the case of the Geocortex Mobile App Framework for iOS, your customized App should already be preconfigured with an ArcGIS Runtime SDK License. Only use one of the following methods if you want to change the way your App is licensed. l Use a Basic license Client ID Use this method if you do not need offline editing. Although the App is preconfigured with a Basic license by default, you can optionally use your own Basic license by visiting a link with your device. l Use a Standard license code Use this method if you need offline editing, and your App will be offline for 30 days or more. This method involves adding a Standard license code to the App by visiting a link with your device. You must purchase a Standard license code from Esri. l Use ArcGIS Online or Portal for ArcGIS Use this method if your App will be signed into ArcGIS Online or your Portal for ArcGIS at least every 30 days. This method grants functionality equivalent to a Standard license, and is only available to ArcGIS Online and Portal for ArcGIS customers. If you fail to sign in after 30 days, functionality will be reduced to the equivalent of a Basic license until you sign in again. For more information about obtaining an ArcGIS Runtime SDK License, see Esri's online documentation. To use a Basic license Client ID to license your App: As the Geocortex Mobile App Framework is preconfigured with a Basic license by default, there is usually nothing to configure if you only want to use a Basic license. However, if you want to explicitly use your own Basic license, use the following instructions to set the Client ID to your own. 1. Contact your local Esri representative to obtain an ArcGIS Runtime SDK Basic license Client ID. This license is free to subscribers of ArcGIS for Developers. | 34 Geocortex Mobile App Framework 2.0.1.Administrator Guide 2. In the web browser of your device, open the following specially-crafted URL: gcx://arcgislicensing?arcgisclientid=MyClientID Ensure you replace the value of the arcgisclientid parameter with your own ArcGIS Client ID. To make this URL easy for your users to visit, create a QR code for your users to scan. To use a Standard license code to license your App: 1. Contact your local Esri representative to purchase an ArcGIS Runtime SDK Standard license code. 2. In the web browser of your device, open the following specially-crafted URL: gcx://arcgislicensing?arcgislicensecode= runtimestandard,101,rux00000,none,XXXXXXX Ensure you replace the value of the arcgislicensecode parameter with your own ArcGIS license code. Some browsers may handle commas in URLs differently. If you are still unable to license the App, try to URL-encode the license code in the URL. This will replace each comma (,) with %2C. You can optionally set the ArcGIS Client ID by using the arcgisclientid URL parameter. For example, gcx://arcgislicensing?arcgisclientid=MyClientID To make this URL easy for your users to visit, create a QR code for your users to scan. To use ArcGIS Online or Portal for ArcGIS to license your App: 1. Contact your local Esri representative to become an ArcGIS Online or Portal for ArcGIS customer. 2. Open the Geocortex Mobile App Framework. 3. Tap Sign In. 4. Sign into your ArcGIS Online or Portal for ArcGIS account. 3.6.3 Configure the Offline Settings of a Viewer To configure the offline settings of a viewer: 1. In Essentials Manager, edit the site that contains the viewer. 2. In the side panel, click Viewers, then click the Edit icon beside the desired viewer. 3. In the Viewer for HTML5 side panel, click Offline. 4. To offer this viewer to be added in the Geocortex Mobile App Framework, select the Add to list of Available Viewers checkbox. 35 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 3.6.4 Configure an Offline Basemap If the site is secured, the viewer will only appear in the Available Viewers list if the user has permission to access the viewer. For information on setting permissions on viewers, see "Permissions" in the Geocortex Essentials Administrator Guide. 5. To automatically download this viewer in the Geocortex Mobile App Framework, select the Automatically download checkbox. 6. Click Apply Changes. 7. In the Viewer for HTML5 side panel, click Toolbar. 8. In the Configured Toolbar section, ensure the Offline Maps tool tool is present. If not, drag the Offline Maps from the Available Tools section to the Configured Toolbar section. 9. Click Apply Changes. 10. Click Save Site. 3.6.4 Configure an Offline Basemap An offline basemap can be used in an Offline Map to provide a basemap in the Geocortex Mobile App Framework even when the device lacks network connectivity. There are two kinds of offline basemap: l l 3.6.4.1 Pre-generated Offline Basemaps: These pre-generated basemaps can be made available offline in the Geocortex Mobile App Framework by being used in an Offline Map. Each of these basemaps is associated with a tile package (TPK) file, and can be shared by multiple Offline Maps. Custom Offline Basemaps: Custom Offline Basemaps have their TPK files generated when the end user first syncs the associated Offline Map. In Essentials, Custom Offline Basemaps are either basemaps that contain at least one ArcGIS Tiled Map service supporting the ExportTiles operation, or basemaps that have their Export Tiles Override property set. Each Custom Offline Basemap is associated with a single Offline Map. Pre-generated Offline Basemaps A Pre-generated Offline Basemap can be added to an Offline Map, which allows end users of the Geocortex Mobile App Framework to view basemaps even without network connectivity. Each Pre-generated Offline Basemap is associated with a tile package (TPK) file, and can be shared by multiple Offline Maps. Since they are pre-generated, their extents and levels of detail cannot be changed after being downloaded by users. 3.6.4.1.1 Configure a Pre-generated Offline Basemap There are two ways to add a Pre-generated Offline Basemap: l Use an existing TPK l Use a map service supporting the ExportTiles operation to generate a TPK file Once you have added a Pre-generated Offline Basemap, you can use it in an Offline Map. Ensure that your tile package (TPK) files are hosted in a location that your users can access. | 36 Geocortex Mobile App Framework 2.0.1.Administrator Guide To use an existing TPK: 1. In Manager, edit the site you want to configure. 2. Click Offline in the side panel. 3. Click the Offline Basemaps tab. 4. Click Add Offline Basemap. 5. Select Use an existing TPK, and click Next. 6. Select one of the following: l Use the URL of an existing TPK file available online: In the TPK URL box, type the URL of the tile package (TPK) file. End users will download the TPK directly from the server specified. The TPK will not be copied to the Essentials server. l Use a TPK file already on the server: From TPK File menu, select the tile package (TPK) file on the server. By default, these files are located in: C:\Program Files (x86)\Latitude Geographics\Geocortex Essentials\Default\REST Elements\Sites\TPKs. 7. Click Next. 8. In the Display Name box, type a display name for the Pre-generated Offline Basemap, and click Finish. 9. Click Save Site. You can now add your Pre-generated Offline Basemap to an Offline Map. To use a map service supporting the ExportTiles operation to generate a TPK file: 1. In Manager, edit the site you want to configure. 2. Click Offline in the side panel. 3. Click the Offline Basemaps tab. 4. Click Add Offline Basemap. 5. Select Use a map service supporting the ExportTiles operation to generate a TPK file, and click Next. 6. In the Map Service URL box, type the URL of the tile package (TPK) file, and click Next. 7. Click Extent, and pan and zoom the map to the extent you want to be available offline. 8. Click Max Resolution, and zoom the map to the maximum level of detail you want to be available offline. 9. Click Next. 37 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 3.6.4 Configure an Offline Basemap 10. In the Display Name box, type a display name for the Pre-generated Offline Basemap, and click Finish. The TPK file representing the basemap will start being generated. When it is completed, its Status will become Ready. You do not need to wait for the TPK file to complete before moving to the next step. By default, the file will be located in: C:\Program Files (x86)\Latitude Geographics\Geocortex Essentials\Default\REST Elements\Sites\TPKs 11. Click Save Site. You can now add your Pre-generated Offline Basemap to an Offline Map. 3.6.4.1.2 Manually Copy a Pre-generated TPK to the Device Normally, the TPK files of any Pre-generated Offline Basemaps are automatically downloaded to the device when the user syncs an Offline Map that includes them. If a TPK file is very large and you do not want to download it in this manner, you can manually copy the TPK file to your device instead. The following procedure is entirely optional. To manually copy a Pre-generated TPK to the device: 1. On the Essentials server, within the Essentials TPKs folder, locate the TPK file of the Pre-generated Offline Basemap. By default, this folder is located at: C:\Program Files (x86)\Latitude Geographics\Geocortex Essentials\Default\REST Elements\Sites\TPKs 2. Connect your device to the computer and open iTunes. | 38 Geocortex Mobile App Framework 2.0.1.Administrator Guide 3. When your device appears in the toolbar, click the device . A sidebar appears to configure settings. 4. In the sidebar, click Apps . A new page appears to configure Apps. 5. At the bottom of the page, the File Sharing section lists Apps to which you can add files. In the Apps list, click Geocortex . The Geocortex Documents list appears. You can use the Save to button to save existing files on the device. 6. Click Add File . The Add window appears. 7. In the Add window, navigate to the location of the TPK file. 8. Select the TPK file and click Open. The file appears in the Geocortex Documents list. 9. Click Sync in the bottom-right corner. 39 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 3.6.5 Configure and Use an Offline Map 3.6.4.2 Custom Offline Basemaps Custom Offline Basemaps have their TPK files generated when the end user first syncs the associated Offline Map. In Essentials, Custom Offline Basemaps are either basemaps that contain at least one ArcGIS Tiled Map service supporting the ExportTiles operation, or basemaps that have their Export Tiles Override property set. Each Custom Offline Basemap is associated with a single Offline Map. You can configure the maximum level of detail and a refresh interval for the Custom Offline Basemap when it is added to an Offline Map. When an Offline Map containing a Custom Offline Basemap is deleted, the Custom Offline Basemap is also deleted. If your basemap contains an ArcGIS Tiled Map Service that supports the ExportTiles operation, there is nothing to configure: your basemap can be included in an Offline Map as a Custom Offline Basemap. If not, you can do one of the following: l l Use ArcMap to edit your ArcGIS Tiled Map Service to allow clients to export cache tiles. If your basemap contains at least one ArcGIS Tiled Map Service, can use Essentials to turn the basemap into a Custom Offline Basemap. To turn a basemap into a Custom Offline Basemap: 1. In Essentials, edit the site that you want to configure, and then click Basemaps in the side panel. 2. In the list of basemaps, click the basemap that you want to edit, or hover the pointer over the basemap. The management tools appear. 3. Click the Edit tool. 4. Edit the following setting: l Export Tiles Override: An optional URL of an ArcGIS Tiled Map Service supporting the Export Tiles operation. This service is used to override the basemap's ExportTiles operation. For example: http://MyServer.com/arcgis/rest/services/MyMapService/MapServer This setting is used to define Custom Offline Basemaps, and is only available for basemaps containing at least one ArcGIS Tiled Service. 5. Click OK. 6. Click Apply Changes. 7. Click Save Site. You can now add your Custom Offline Basemap to an Offline Map. 3.6.5 Configure and Use an Offline Map To use the Geocortex Mobile App Framework offline, an end user must use an Offline Map. An Offline Map specifies the map area, feature layers, and basemaps that can be made available offline in the Geocortex Mobile App Framework. End users can choose to download an Offline Map that suits their needs, or create their own. Once the end user has finished editing an Offline Map and has network connectivity again, they can use the Offline Map's Sync button to synchronize any changes to the Offline Map with the server and vice versa. | 40 Geocortex Mobile App Framework 2.0.1.Administrator Guide When you use an Offline Map, the offline data on the device is preferred over that of the Essentials server even if the device has network connectivity. When a viewer is reloaded in the Geocortex Mobile App Framework, the previouslyactive Offline Map remains active. Because of this, if you want any changes in the site to be reflected in the Geocortex Mobile App Framework once you have regained network connectivity, you must use the Offline Maps tool to Go Online, return to the Saved Viewers page, and reload the viewer. If you want to allow users who are not signed in to view Offline Maps: in Manager, click Security & Data, click Policies, and select Allow Public Read Access. Anonymous users cannot edit Offline Maps. Deleting an Offline Map will also delete any associated Custom Offline Basemaps, but not Pre-generated Offline Basemaps. The ZoomToOfflineMapExtent command can be used to zoom the map to the extent of the Offline Map currently being used. You can add an Offline Map using either Essentials Manager or the Geocortex Mobile App Framework. To add an Offline Map: 1. Do one of the following: l In Manager: a. Edit the site you want to configure. b. Click Offline in the side panel. c. Click the Offline Maps tab. The Offline Maps section appears. l In the Geocortex Mobile App Framework: a. Tap Sign In, and sign in with your user credentials. b. Open the viewer to which you want to add an Offline Map. c. If necessary, tap d. Tap Offline Maps to open the toolbar. . The Offline Maps panel appears. e. In the Offline Maps panel, tap the Panel Actions Menu button The Panel Actions Menu opens. f. Tap Manage. The Manage Offline Maps panel appears. 2. Click/tap New. The New Offline Map panel appears. 41 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. . 3.6.5 Configure and Use an Offline Map 3. In the Name box, type a name for the Offline Map. After typing a name for the Offline Map, you can click/tap Finish at any time to accept the default settings for a new Offline Map. By default, the offline map area of interest is set to the initial extent, all feature layers and attachments are included for offline use, no offline basemaps are included, and the Offline Map is not shared. 4. Click/tap Area of Interest. The Select Area of Interest panel appears. 5. Select one of the selection tools, and use it to select the area of the map that you want to use offline. 6. Click/tap Back. The New Offline Map panel reappears. 7. Click/tap Layers. The Select Layers panel appears. 8. Select the feature layers you want to be available offline. If you want restrict the number of features of a layer, click/tap to set a definition expression for the layer. This is equivalent to a WHERE clause in SQL. For example, TYPE = 'Residential'. 9. If you want feature attachments to be included offline, select the Include Attachments checkbox. 10. Click/tap Back. The New Offline Map panel reappears. 11. Click/tap Basemaps. The Select Basemaps panel appears. 12. For each of your basemaps, select one of the following: l l None: If you don't want to use a basemap offline. Pre-generated: If you want to use a Pre-generated Offline Basemap from the Offline Basemaps page in Essentials Manager: a. From the drop-down menu, select the Pre-generated Offline Basemap you want to use offline. l Custom: If you want to use a Custom Offline Basemap from the Basemaps page in Essentials Manager: a. Click/tap Edit. The Offline Basemap Detail panel opens. b. Use the slider to select the level of detail you want to be available offline. c. Click/tap Done. d. In the Days Between Refresh box, type the period of days to wait until the TPK file should regenerate when the user syncs the Offline Map. 13. Click/tap Back. The New Offline Map panel reappears. 14. Click/tap Sharing. The Sharing panel appears. | 42 Geocortex Mobile App Framework 2.0.1.Administrator Guide 15. To share the Offline Map with others, do one of the following: l Share with an individual user: a. From the drop-down menu, select Individuals. b. In the Search box, type the name of the user you want to share with. c. Click/tap Add. The user is added to the list of those to share with. l Share with a group of users: a. From the drop-down menu, select Groups. b. In the Search box, type the name of the group of users you want to share with. c. Click/tap Add. The group is added to the list of those to share with. Repeat this step to share the Offline Map with as many users or groups as you want. 16. For each user and group in the list, select one of the sharing options: l None: If you do not want to share the Offline Map with this user or group. l View: If you want this user or group to be able to view the Offline Map, but not edit it. l Edit: If you want this user or group to be able to view and edit the Offline Map. 17. Click/tap Back. The New Offline Map panel reappears. 18. Click/tap Finish. To use an Offline Map: 1. In the Geocortex Mobile App Framework, open a viewer for a site that contains Offline Maps. 2. If necessary, tap to open the toolbar. 3. Tap the Offline Maps tool . The Offline Maps panel appears. 4. Tap the Offline Map you want to use. Offline Maps yet to be downloaded are marked with a download icon . 5. If prompted to confirm you want to download the Offline Map, tap OK. The Offline Map starts to download. After the Offline Map has finished downloading, it becomes active. If you want to return to only using online data, tap Go Online. 6. While your Offline Map is active, you can browse and edit features on the map even without network connectivity. 43 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 3.7 Translation 7. When you regain network connectivity, tap the Offline Map's Sync button . The synchronization process starts. When finished, your edits are synchronized with the server and your Offline Map is also updated. 3.7 3.7.1 Translation Translate the Geocortex Mobile App Framework The Geocortex Mobile App Framework supports translation by using locale files. A locale file contains all the words for the user interface in a particular language. Once a locale file has been created in the desired language, you can load the translated file into the App on a device in the same way as a resource—by using a resource URI. You can send the URI of the locale file in an email, add it to a button or a link on a website, or use any other method to send the link. The locale file must contain the code for that language in the name of the file like this: gcxLang-[language code]-[country code].json For example, gcxLang-en-ca.json for Canadian English. The [language code] is a language code from the ISO 639-1 standard. The [country code] is a country code from the ISO 3166-1 standard. When you click the URL to the locale file, the file is downloaded to the device. You must then set the locale of the device to the translated language. When you reopen the App, it checks the locale setting of the device, then searches for the translated locale file in the downloaded content. If the locale file matches the locale setting on the device, the App opens in the translated language. If an appropriate locale file is not found, the application opens in the default language (English). Viewers inside the Geocortex Mobile App Framework are translated separately using the normal translation procedure outlined in the Translation section of the Geocortex Viewer for HTML5 Administrator and Developer Guide. See Add Viewers and Resources on page 27 for instructions on adding a viewer. An example of a locale file is included within the Geocortex Mobile App Framework IPA file in the following location: Payload\Geocortex.app\www\Resources\Locales\gcxLang-en-us.json. 4 4.1 Geocortex Mobile App Framework for Windows About Customized Versions Obtaining a customized version of the Geocortex Mobile App Framework offers a few advantages: l Preregister the App with Essentials l Preconfigure the ArcGIS Runtime SDK License | 44 Geocortex Mobile App Framework 2.0.1.Administrator Guide l Use the App in a Mobile Device Management (MDM) software environment l Customize the appearance of the App, such as the icon, name, and splash screen In the case of the Geocortex Mobile App Framework for Windows, you can manually customize the App except for its appearance. To obtain a fully-customized version of the Geocortex Mobile App Framework, you must contact Geocortex Support ([email protected]) to provide some information. The information required depends on what kind of customized version of Geocortex Mobile App Framework you want: l Obtain a customized Multi-Viewer Application Choose this if you want to allow the user to select which viewer to open when the Geocortex Mobile App Framework starts. l Obtain a customized Single-Viewer Application Choose this if you want a specific viewer to open automatically when the Geocortex Mobile App Framework starts. In the case of the Geocortex Mobile App Framework for Windows, you can manually create a Single-Viewer Application. 4.1.1 Obtain a Customized Multi-Viewer Application To obtain a customized version of the Geocortex Mobile App Framework that supports multiple viewers, you must provide Geocortex Support ([email protected]) with the following information: l The platforms for which you want customized versions, namely: Android, iOS and Windows l Your Essentials instance URL. For example, http://MyServer.com/Geocortex/Essentials l The type of Mobile Device Management (MDM) software you intend to use, if applicable You may optionally provide the following information: l Your ArcGIS Runtime SDK License Code l Your ArcGIS Client ID l The App name l The App icon l The splash screen images 45 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 4.1.2 Obtain a Customized Single-Viewer Application 4.1.2 Obtain a Customized Single-Viewer Application To obtain a customized version of the Geocortex Mobile App Framework that only contains a single viewer, you must provide Geocortex Support ([email protected]) with the following information: l l The platforms for which you want customized versions, namely: Android, iOS and Windows The viewer's Launch in Geocortex Mobile App Framework link. This link appears on the Viewer Info page when you edit your HTML5 Viewer in Essentials. You can right-click the link and click Copy Link Location, Copy link address or Copy shortcut. For example, gcx://viewerPackage?url=http://MyServer.com/Html5Viewer/gmaf/viewerpackage.ashx?view erUrl=http://MyServer.com/Geocortex/Essentials/REST/sites/MySite/viewers/MyViewer l The type of Mobile Device Management (MDM) software you intend to use, if applicable You may optionally provide the following information: 4.1.3 l Your ArcGIS Runtime SDK License Code l Your ArcGIS Client ID l The App name l The App icon l The splash screen image Manually Customize the Geocortex Mobile App Framework In the case of the Geocortex Mobile App Framework for Windows, you can partially customize the App yourself by manually editing the configuration file. There are a few ways you can manually customize the Geocortex Mobile App Framework for Windows: l Preregister the App with Essentials l Preconfigure the ArcGIS Runtime SDK License At this time, to customize the appearance of the App, such as the icon, name, and splash screen, you must obtain a customized version from Geocortex Support. If you want to manually create a Single-Viewer Application, you must also follow the instructions in Create a Single-Viewer Application. To preregister the App with Essentials: 1. Ensure the Geocortex Mobile App Framework is not running. 2. In the root folder of the Geocortex Mobile App Framework, use a text editor to open the configuration.json file. | 46 Geocortex Mobile App Framework 2.0.1.Administrator Guide 3. Locate the essentialsInstance property: "essentialsInstance": "http://MyServer.com/Geocortex/Essentials/REST", Set the value of the essentialsInstance property to the URL for your Essentials instance. 4. Save the file. To preconfigure the ArcGIS Runtime SDK License: The Geocortex Mobile App Framework is preconfigured with a Basic license by default. If you do not need offline editing, you may skip this procedure unless you want to explicitly use your own Basic license. If your App will be signed into ArcGIS Online or your Portal for ArcGIS at least every 30 days, you can skip the following procedure, as you will be granted functionality equivalent to a Standard license. If you fail to sign in after 30 days, functionality will be reduced to the equivalent of a Basic license until you sign in again. 1. Contact your local Esri representative to obtain either a Basic or Standard ArcGIS Runtime SDK License, depending on your needs. If you have a Basic license, note your ArcGIS Client ID. If you have a Standard license, note your ArcGIS Runtime SDK Standard License code. For more information, see Obtain an ArcGIS Runtime SDK License. 2. Ensure the Geocortex Mobile App Framework is not running. 3. In the root folder of the Geocortex Mobile App Framework, use a text editor to open the configuration.json file. 4. You may optionally locate the "arcgisClientId" attribute, and change its value to your ArcGIS Client ID. For example: { ... "arcgisClientId": "MyClientId" ... } 5. If you have a Standard license, locate the "arcgisRuntimeLicense" attribute, and change its value to your ArcGIS Runtime SDK License code. For example: { ... "arcgisRuntimeLicense": "runtimestandard,101,rux00000,none,XXXXXXX" ... } 6. Save the file. 47 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 4.1.4 Create a Single-Viewer Application 4.1.4 Create a Single-Viewer Application By default, multiple viewers can be used in the Geocortex Mobile App Framework. If you want the Geocortex Mobile App Framework to work with only a single viewer, you can either obtain a customized version, or follow these steps: To create a Single-Viewer Application: 1. Ensure the Geocortex Mobile App Framework is not running. 2. In the root folder of the Geocortex Mobile App Framework, edit the configuration.json file. 3. Locate the mainUri property: { .... "mainUri": " {0}/viewerpackages/ MyViewer /Html5Viewer/Index.html?configBase=../VirtualDirectory/Resources/Config/Default", ... } Set the value of the mainUri property to the value above, being sure to replace MyViewer with the name of the viewer you want to use, as it appears in the viewer's path. The name of your viewer may differ from its Display Name. Be sure to replace MyViewer with the name as it appears in the viewer's Path. The Path is on the Viewer Info page when you edit a viewer. | 48 Geocortex Mobile App Framework 2.0.1.Administrator Guide 4. Within the "defaultViewers" array, add an object that represents the viewer you want to use: { ... "defaultViewers": [ .... { "directoryName": "MyViewer", "uri": "Html5Viewer/Index.html?configBase=../VirtualDirectory/Resources/Config/Default", "packageSource": "http:// MyServer.com/Html5Viewer /gmaf/viewerpackage.ashx?viewerUrl=http:// MyServer.com/Geocortex/Essentials/REST/sites/MySite/viewers/MyViewer" } ... ], ... } Set the directoryName property to the name of the viewer as it appears in the viewer's Path. The Path is on the Viewer Info page when you edit a viewer. Set the uri property to Html5Viewer/Index.html?configBase=../VirtualDirectory/Resources/Config/Default. Set the packageSource property to the viewer's package URL, which is contained within the viewer's Launch in Geocortex Mobile App Framework link. The Launch in Geocortex Mobile App Framework link is on the Viewer Info page when you edit a viewer. The viewer's package URL is found after gcx://viewerPackage?url= in the Launch in Geocortex Mobile App Framework link. 5. Save the file. 4.2 4.2.1 Requirements Operating Systems The Geocortex Mobile App Framework for Windows supports Windows 7, 8, 10 and greater. Windows Phone and Windows RT are not supported. 4.2.2 Devices All PC tablets, laptops or desktops running Windows 7, 8, 10 or greater. To use the geolocation feature in either online or offline mode, a GPS sensor (internal or external) that supports the Windows Location API is required. 49 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 4.2.3 Server 4.2.3 Server A server is necessary to host the application and provide a download URL for users to access the application. Any web server capable of serving files can be used, but it must be configured to serve .TPK and .JSON files. If you use Internet Information Services (IIS), you will need to add new MIME types for each of these file extensions. 4.2.3.1 MIME Types In order to host the Windows deployment package, your web server needs to serve the following MIME types: l .TPK l .JSON You can add the MIME types at any point in the folder hierarchy of the server. The higher in the folder structure you add the MIME types, the greater the scope they have. You can only add one MIME type at a time. The procedure below must be repeated for each new MIME type. To add the MIME types to IIS: 1. To open IIS Manager, click the Windows Start button, type iis, and click Internet Information Services (IIS) Manager. 2. In the IIS section of the middle panel, double-click MIME Types . 3. In the Actions panel on the right, click Add. 4. In the Add MIME Type window, type the following for each different MIME type: l .TPK: In the File name extension text box, type .tpk. In the MIME Type text box, type application/octet-stream. l .JSON: In the File name extension text box, type .json. For example, for language resource files (gcxLang-enus.json). In the MIME Type text box, type application/json. 5. Click OK and close IIS Manager. | 50 Geocortex Mobile App Framework 2.0.1.Administrator Guide 4.2.4 Geocortex Software The Geocortex Mobile App Framework 2.0.1 for Windows works with: l Geocortex Essentials 4.5 or higher l Geocortex Viewer for HTML5 version 2.6.1 or higher If Internet Information Services (IIS) is configured to deny anonymous access for either Essentials or the HTML5 Viewer, Geocortex Mobile App Framework may not work properly. For information about requirements for past versions, see Historical Requirements on page 76. 4.2.5 Offline Requirements As of version 1.3.2, the Geocortex Mobile App Framework makes use of the HTML5 Viewer proxy page. You must configure the HTML5 Viewer proxy page to communicate with trusted servers such as the Essentials server, otherwise the application may not function properly. For more information, see "Set Up a Proxy Page" in the Geocortex Viewer for HTML5 Administrator and Developer Guide. To ensure the Geocortex Mobile App Framework functions properly, you must set up CORS (Cross-Origin Resource Sharing) in Essentials. To do so, you must remove any previous CORS configuration, run and complete the Post Installer, and ensure the RestAppSettings.xml file in your Sites folder has an <AllowOrigins> element that contains <Origin Url="http://127.0.0.1:8181" />. For more information, see "Set Up Cross-Origin Resource Sharing (CORS)" in the Geocortex Essentials Installation Guide. Certain offline features require an ArcGIS Runtime SDK License. There are two kinds of ArcGIS Runtime SDK Licenses: l Basic: Allows you to use offline basemaps, global search, query, filter, identify, and view related features offline. The Geocortex Mobile App Framework is preconfigured with a Basic license by default. Custom Offline Basemaps require your ArcGIS basemaps to have the ExportTiles operation enabled, which is available in ArcGIS Server 10.2.1 and later. For more information, see Allow clients to export cache tiles in Esri's online documentation. l Standard: Required for offline editing. To enable offline editing, you must first prepare your ArcGIS feature services for offline use. Ensure each has the sync capability enabled, the Global ID field added to their data, archiving or versioning enabled on their data, and their relationships and attachments configured with a Global ID primary key. For more information, see Prepare data for offline use in Esri's online documentation. For more information, see Obtain an ArcGIS Runtime SDK License on page 57. 4.2.6 Secured ArcGIS Services We recommend you avoid securing your ArcGIS services with Basic Authentication because editing will not work; use Windows Authentication instead. 51 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 4.3 Installation If your site contains ArcGIS services that are secured with Windows Authentication, you must configure the HTML5 Viewer's proxy page, and configure the IIS authentication settings for the HTML5 Viewer to enable Windows Authentication. For more information, see "Set Up a Proxy Page" in the Geocortex Viewer for HTML5 Administrator and Developer Guide. When accessing a secured ArcGIS service, you may be prompted to enter your user credentials. 4.3 4.3.1 Installation Install the Geocortex Mobile App Framework Before upgrading the Geocortex Mobile App Framework or the Geocortex Viewer for HTML5, to avoid losing any unsaved changes you must use the Sync tool for each viewer that has unsaved edits. To install the Geocortex Mobile App Framework onto the device: 1. Open the Geocortex Essentials Downloads page in the Geocortex Support Center. If prompted, log in with your Support Center account credentials. If you do not have a Support Center account, click the link to create an account. 2. Find the Geocortex Mobile App Framework section. Information is displayed about the current versions of Geocortex Mobile App Framework for each platform, with download and documentation links. To download a previous version, click Previous Versions and navigate to the version you want. 3. Click or tap Geocortex Mobile App Framework 2.0.1 (Windows) to download the .zip file. 4. Extract the contents of the Geocortex-Mobile-App-Framework-2.0.1.zip file to a folder on your device. 5. Open the folder to which the .zip file was extracted. 6. Right-click or long-press the EnablePort.bat file. 7. Click Run as administrator. 8. Double-click the Geocortex.exe file to run the App. From the device, you can access the App by either: directly opening the App, typing a URL into a web browser, clicking a link on a web page or in an email, or scanning a QR Code. The newly-installed Geocortex Mobile App Framework contains a sample viewer and no resources. To add viewers or resources, see Add Viewers and Resources on page 54. | 52 Geocortex Mobile App Framework 2.0.1.Administrator Guide 4.3.2 About Registration Registering the Geocortex Mobile App Framework with an Essentials instance allows the App to offer viewers to add, or even download automatically. You only need to register the App once. There are a few ways to register the App: l Use a customized version of Geocortex Mobile App Framework (recommended) l Scan the QR code on the Essentials Registration web page l Register within the Geocortex Mobile App Framework l Use a Launch in Geocortex Mobile App Framework link To use a customized version of Geocortex Mobile App Framework: This is the recommended method because end users will not need to register the application themselves. For the Geocortex Mobile App Framework for Windows, you can either obtain a customized version, or follow these instructions to register the App: 1. Ensure the Geocortex Mobile App Framework is not running. 2. In the root folder of the Geocortex Mobile App Framework, use a text editor to open the configuration.json file. 3. Locate the essentialsInstance property: "essentialsInstance": "http://MyServer.com/Geocortex/Essentials/REST", Set the value of the essentialsInstance property to the URL for your Essentials instance. 4. Save the file. To scan the QR code on the Essentials Registration web page: 1. On a different device, open the Essentials Registration web page for the instance of Essentials you want to register with Geocortex Mobile App Framework. For example, http://MyServer.com/Geocortex/Essentials/REST/EssentialsRegistration. 2. Use your device to scan the QR code that appears. Alternatively, if your device does not support scanning QR codes, you can manually enter the registration URL into your device's web browser. For example, gcx://essentialsinstance?url=http://MyServer.com/Geocortex/Essentials/REST. To register within the Geocortex Mobile App Framework: 1. In the Geocortex Mobile App Framework, on the Saved Viewers page, tap . 2. If the application has not yet been registered, you will be prompted to register it. If so, type the URL to your Geocortex Essentials instance and tap OK. For example, http://MyServer.com/Geocortex/Essentials/REST. 53 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 4.3.3 Add Viewers and Resources To use a Launch in Geocortex Mobile App Framework link: 1. In Essentials Manager, edit the site that contains the viewer. 2. In the side panel, click Viewers, then click the Edit icon beside the viewer for which you generated the offline data. 3. The Launch in Geocortex Mobile App Framework link that appears is the launch link. A corresponding QR code appears when the mouse pointer is hovered over the QR code icon beside the link. 4. To load this viewer onto the device, do any of the following: l l l Email the link to the device, then click the link in the email. Hover the mouse pointer over the QR Code icon and, if your device supports it, use the device to scan the QR code that appears. Type the URL into the address bar of a web browser on the device. The Geocortex Mobile App Framework opens and asks you to confirm whether you want to load this viewer. 5. To confirm you want to load this viewer, tap Yes. 4.3.3 Add Viewers and Resources The Geocortex Mobile App Framework is a native host application in which multiple viewers based on the Geocortex Viewer for HTML5 can run. Being a native app makes it possible for the viewers to access native functionality of the device, for example, to interface with the file system. Accessing the file system makes it possible to access enough storage to hold basemaps for offline use, which may be added via Resource URIs. 4.3.3.1 Add Viewers There are a few different ways to add viewers to the Geocortex Mobile App Framework: l Use the Geocortex Mobile App Framework to add a viewer l Use Essentials Manager to automatically add a viewer l Use the Launch in Geocortex Mobile App Framework link To use the Geocortex Mobile App Framework to add a viewer: 1. In Essentials Manager, edit the site that contains the viewer. 2. In the side panel, click Viewers, then click the Edit icon beside the desired viewer. 3. In the Viewer for HTML5 side panel, click Offline. 4. Select the Add to List of Available Viewers checkbox. If the site is secured, the viewer will only appear in the Available Viewers list if the user has permission to access the viewer. For information on setting permissions on viewers, see "Permissions" in the Geocortex Essentials Administrator Guide. 5. Click Apply Changes. | 54 Geocortex Mobile App Framework 2.0.1.Administrator Guide 6. Click Save Site. 7. In the Geocortex Mobile App Framework, on the Saved Viewers page, tap . 8. If you are prompted to register your application, type the URL to your Geocortex Essentials instance and tap OK. For example, http://MyServer.com/Geocortex/Essentials/REST. 9. Tap the viewer you want to add. 10. Tap Save. To use Essentials Manager to automatically add a viewer: 1. In Essentials Manager, edit the site that contains the viewer. 2. In the side panel, click Viewers, then click the Edit icon beside the desired viewer. 3. In the Viewer for HTML5 side panel, click Offline. 4. Select the Add to List of Available Viewers checkbox. 5. Select the Automatically download checkbox. If the site is secured, the viewer will only appear in the Available Viewers list if the user has permission to access the viewer. For information on setting permissions on viewers, see "Permissions" in the Geocortex Essentials Administrator Guide. 6. Click Apply Changes. 7. Click Save Site. 8. In the Geocortex Mobile App Framework, ensure the viewer appears on the Saved Viewers page. If not, register the App with your Essentials instance. To use the Launch in Geocortex Mobile App Framework link: 1. In Essentials Manager, edit the site that contains the viewer. 2. In the side panel, click Viewers, then click the Edit icon beside the viewer for which you generated the offline data. 3. The Launch in Geocortex Mobile App Framework link that appears is the launch link. A corresponding QR code appears when the mouse pointer is hovered over the QR code icon beside the link. 4. To load this viewer onto the device, do any of the following: l l l Email the link to the device, then click the link in the email. Hover the mouse pointer over the QR Code icon and, if your device supports it, use the device to scan the QR code that appears. Type the URL into the address bar of a web browser on the device. The Geocortex Mobile App Framework opens and asks you to confirm whether you want to load this viewer. 5. To confirm you want to load this viewer, tap Yes. 55 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 4.4 Upgrading If the App is not yet registered with an Essentials instance, using the Launch in Geocortex Mobile App Framework link will register it. 4.3.3.2 Resource URIs Resource URIs point to a resource file. When the URI is clicked, the file is loaded onto the device. Currently, two types of resource file are supported: l l Language files: Also called locale files, these contain the language strings for the user interface of the Geocortex Mobile App Framework, for example, gcxLang-pt-br.json for Portuguese (Brazil). See Translate the Geocortex Mobile App Framework on page 66 for more information. Tile cache files: Contain the tiles that make up a basemap and have a TPK extension. The URI to a resource must contain the name of the file and the URI to its location. Resources can be added and removed from the application. l l 4.4 4.4.1 To add a specific resource, use the URI: gcx://resource?action=download&url=[fully qualified URL of the resource]. To remove a specific resource, use the URI: gcx://resource?action=remove&name=[the file name]. Upgrading Upgrade the Geocortex Mobile App Framework Before upgrading the Geocortex Mobile App Framework or the Geocortex Viewer for HTML5, to avoid losing any unsaved changes you must use the Sync tool for each viewer that has unsaved edits. The following instructions only apply if you are upgrading from version 1.x to 2.0.1. If you are upgrading from 2.0 to 2.0.1, you can skip these upgrade instructions and simply install as normal. We recommend you completely remove any previous version of the Geocortex Mobile App Framework 1.x installed before upgrading to the new version, but before doing so, you may want to copy any tile package (.TPK) files from your device to avoid downloading them again. The tile package files are located in the C:\Users\MyUserName\Documents\Geocortex App Data folder. For more information, see Manually Copy a Pre-generated TPK to the Device. To upgrade the Geocortex Mobile App Framework from version 1.x: 1. In File Explorer, delete the following folders if they exist: l The folder where you installed the Geocortex Mobile App Framework l C:\Users\MyUserName\Documents\Geocortex App Data | 56 Geocortex Mobile App Framework 2.0.1.Administrator Guide l C:\Users\MyUserName\AppData\Roaming\Geocortex\Geocortex App Data l C:\Users\MyUserName\AppData\Local\Latitude_Geographics_Grou In the folder paths above, replace MyUserName with your Windows user name. 2. Install the Geocortex Mobile App Framework. 4.5 4.5.1 Configuration About Configuration The Geocortex Mobile App Framework for Windows is configured in the following ways: 4.5.2 l Obtain an ArcGIS Runtime SDK License l Configure offline settings for a viewer l Configure an Offline Basemap l Configure and Use an Offline Map Obtain an ArcGIS Runtime SDK License Certain offline features require an ArcGIS Runtime SDK License. There are two kinds of ArcGIS Runtime SDK Licenses: l Basic: Allows you to use offline basemaps, global search, query, filter, identify, and view related features offline. The Geocortex Mobile App Framework is preconfigured with a Basic license by default. Custom Offline Basemaps require your ArcGIS basemaps to have the ExportTiles operation enabled, which is available in ArcGIS Server 10.2.1 and later. For more information, see Allow clients to export cache tiles in Esri's online documentation. l Standard: Required for offline editing. To enable offline editing, you must first prepare your ArcGIS feature services for offline use. Ensure each has the sync capability enabled, the Global ID field added to their data, archiving or versioning enabled on their data, and their relationships and attachments configured with a Global ID primary key. For more information, see Prepare data for offline use in Esri's online documentation. There are a few methods to license your App: l Use a Basic license Client ID Use this method if you do not need offline editing. Although the App is preconfigured with a Basic license by default, you can optionally use your own Basic license by visiting a link with your device. 57 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 4.5.2 Obtain an ArcGIS Runtime SDK License l Use a Standard license code Use this method if you need offline editing, and your App will be offline for 30 days or more. This method involves adding a Standard license code to the App by visiting a link with your device. You must purchase a Standard license code from Esri. l Use ArcGIS Online or Portal for ArcGIS Use this method if your App will be signed into ArcGIS Online or your Portal for ArcGIS at least every 30 days. This method grants functionality equivalent to a Standard license, and is only available to ArcGIS Online and Portal for ArcGIS customers. If you fail to sign in after 30 days, functionality will be reduced to the equivalent of a Basic license until you sign in again. For more information about obtaining an ArcGIS Runtime SDK License, see Esri's online documentation. In the case of the Geocortex Mobile App Framework for Windows, you can manually preconfigure the ArcGIS Runtime SDK License. To use a Basic license Client ID to license your App: As the Geocortex Mobile App Framework is preconfigured with a Basic license by default, there is usually nothing to configure if you only want to use a Basic license. However, if you want to explicitly use your own Basic license, use the following instructions to set the Client ID to your own. 1. Contact your local Esri representative to obtain an ArcGIS Runtime SDK Basic license Client ID. This license is free to subscribers of ArcGIS for Developers. 2. In the web browser of your device, open the following specially-crafted URL: gcx://arcgislicensing?arcgisclientid=MyClientID Ensure you replace the value of the arcgisclientid parameter with your own ArcGIS Client ID. To make this URL easy for your users to visit, create a QR code for your users to scan. | 58 Geocortex Mobile App Framework 2.0.1.Administrator Guide To use a Standard license code to license your App: 1. Contact your local Esri representative to purchase an ArcGIS Runtime SDK Standard license code. 2. In the web browser of your device, open the following specially-crafted URL: gcx://arcgislicensing?arcgislicensecode= runtimestandard,101,rux00000,none,XXXXXXX Ensure you replace the value of the arcgislicensecode parameter with your own ArcGIS license code. Some browsers may handle commas in URLs differently. If you are still unable to license the App, try to URL-encode the license code in the URL. This will replace each comma (,) with %2C. You can optionally set the ArcGIS Client ID by using the arcgisclientid URL parameter. For example, gcx://arcgislicensing?arcgisclientid=MyClientID To make this URL easy for your users to visit, create a QR code for your users to scan. To use ArcGIS Online or Portal for ArcGIS to license your App: 1. Contact your local Esri representative to become an ArcGIS Online or Portal for ArcGIS customer. 2. Open the Geocortex Mobile App Framework. 3. Tap Sign In. 4. Sign into your ArcGIS Online or Portal for ArcGIS account. 4.5.3 Configure the Offline Settings of a Viewer To configure the offline settings of a viewer: 1. In Essentials Manager, edit the site that contains the viewer. 2. In the side panel, click Viewers, then click the Edit icon beside the desired viewer. 3. In the Viewer for HTML5 side panel, click Offline. 4. To offer this viewer to be added in the Geocortex Mobile App Framework, select the Add to list of Available Viewers checkbox. If the site is secured, the viewer will only appear in the Available Viewers list if the user has permission to access the viewer. For information on setting permissions on viewers, see "Permissions" in the Geocortex Essentials Administrator Guide. 5. To automatically download this viewer in the Geocortex Mobile App Framework, select the Automatically download checkbox. 6. Click Apply Changes. 59 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 4.5.4 Configure an Offline Basemap 7. In the Viewer for HTML5 side panel, click Toolbar. 8. In the Configured Toolbar section, ensure the Offline Maps tool tool is present. If not, drag the Offline Maps from the Available Tools section to the Configured Toolbar section. 9. Click Apply Changes. 10. Click Save Site. 4.5.4 Configure an Offline Basemap An offline basemap can be used in an Offline Map to provide a basemap in the Geocortex Mobile App Framework even when the device lacks network connectivity. There are two kinds of offline basemap: l l 4.5.4.1 Pre-generated Offline Basemaps: These pre-generated basemaps can be made available offline in the Geocortex Mobile App Framework by being used in an Offline Map. Each of these basemaps is associated with a tile package (TPK) file, and can be shared by multiple Offline Maps. Custom Offline Basemaps: Custom Offline Basemaps have their TPK files generated when the end user first syncs the associated Offline Map. In Essentials, Custom Offline Basemaps are either basemaps that contain at least one ArcGIS Tiled Map service supporting the ExportTiles operation, or basemaps that have their Export Tiles Override property set. Each Custom Offline Basemap is associated with a single Offline Map. Pre-generated Offline Basemaps A Pre-generated Offline Basemap can be added to an Offline Map, which allows end users of the Geocortex Mobile App Framework to view basemaps even without network connectivity. Each Pre-generated Offline Basemap is associated with a tile package (TPK) file, and can be shared by multiple Offline Maps. Since they are pre-generated, their extents and levels of detail cannot be changed after being downloaded by users. 4.5.4.1.1 Configure a Pre-generated Offline Basemap There are two ways to add a Pre-generated Offline Basemap: l Use an existing TPK l Use a map service supporting the ExportTiles operation to generate a TPK file Once you have added a Pre-generated Offline Basemap, you can use it in an Offline Map. Ensure that your tile package (TPK) files are hosted in a location that your users can access. To use an existing TPK: 1. In Manager, edit the site you want to configure. 2. Click Offline in the side panel. 3. Click the Offline Basemaps tab. 4. Click Add Offline Basemap. 5. Select Use an existing TPK, and click Next. | 60 Geocortex Mobile App Framework 2.0.1.Administrator Guide 6. Select one of the following: l Use the URL of an existing TPK file available online: In the TPK URL box, type the URL of the tile package (TPK) file. End users will download the TPK directly from the server specified. The TPK will not be copied to the Essentials server. l Use a TPK file already on the server: From TPK File menu, select the tile package (TPK) file on the server. By default, these files are located in: C:\Program Files (x86)\Latitude Geographics\Geocortex Essentials\Default\REST Elements\Sites\TPKs. 7. Click Next. 8. In the Display Name box, type a display name for the Pre-generated Offline Basemap, and click Finish. 9. Click Save Site. You can now add your Pre-generated Offline Basemap to an Offline Map. To use a map service supporting the ExportTiles operation to generate a TPK file: 1. In Manager, edit the site you want to configure. 2. Click Offline in the side panel. 3. Click the Offline Basemaps tab. 4. Click Add Offline Basemap. 5. Select Use a map service supporting the ExportTiles operation to generate a TPK file, and click Next. 6. In the Map Service URL box, type the URL of the tile package (TPK) file, and click Next. 7. Click Extent, and pan and zoom the map to the extent you want to be available offline. 8. Click Max Resolution, and zoom the map to the maximum level of detail you want to be available offline. 9. Click Next. 10. In the Display Name box, type a display name for the Pre-generated Offline Basemap, and click Finish. The TPK file representing the basemap will start being generated. When it is completed, its Status will become Ready. You do not need to wait for the TPK file to complete before moving to the next step. By default, the file will be located in: C:\Program Files (x86)\Latitude Geographics\Geocortex Essentials\Default\REST Elements\Sites\TPKs 11. Click Save Site. You can now add your Pre-generated Offline Basemap to an Offline Map. 4.5.4.1.2 Manually Copy a Pre-generated TPK to the Device Normally, the TPK files of any Pre-generated Offline Basemaps are automatically downloaded to the device when the user syncs an Offline Map that includes them. If a TPK file is very large and you do not want to download it in this manner, you can manually copy the TPK file to your device instead. 61 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 4.5.4 Configure an Offline Basemap The following procedure is entirely optional. To manually copy a Pre-generated TPK to the device: 1. On the Essentials server, within the Essentials TPKs folder, locate the TPK file of the Pre-generated Offline Basemap. By default, this folder is located at: C:\Program Files (x86)\Latitude Geographics\Geocortex Essentials\Default\REST Elements\Sites\TPKs 2. Copy the TPK file to your device in the following folder: C:\Users\MyUserName\Documents\Geocortex App Data Replace MyUserName with your Windows user name. 4.5.4.2 Custom Offline Basemaps Custom Offline Basemaps have their TPK files generated when the end user first syncs the associated Offline Map. In Essentials, Custom Offline Basemaps are either basemaps that contain at least one ArcGIS Tiled Map service supporting the ExportTiles operation, or basemaps that have their Export Tiles Override property set. Each Custom Offline Basemap is associated with a single Offline Map. You can configure the maximum level of detail and a refresh interval for the Custom Offline Basemap when it is added to an Offline Map. When an Offline Map containing a Custom Offline Basemap is deleted, the Custom Offline Basemap is also deleted. If your basemap contains an ArcGIS Tiled Map Service that supports the ExportTiles operation, there is nothing to configure: your basemap can be included in an Offline Map as a Custom Offline Basemap. If not, you can do one of the following: l l Use ArcMap to edit your ArcGIS Tiled Map Service to allow clients to export cache tiles. If your basemap contains at least one ArcGIS Tiled Map Service, can use Essentials to turn the basemap into a Custom Offline Basemap. To turn a basemap into a Custom Offline Basemap: 1. In Essentials, edit the site that you want to configure, and then click Basemaps in the side panel. 2. In the list of basemaps, click the basemap that you want to edit, or hover the pointer over the basemap. The management tools appear. 3. Click the Edit tool. 4. Edit the following setting: l Export Tiles Override: An optional URL of an ArcGIS Tiled Map Service supporting the Export Tiles operation. This service is used to override the basemap's ExportTiles operation. For example: http://MyServer.com/arcgis/rest/services/MyMapService/MapServer This setting is used to define Custom Offline Basemaps, and is only available for basemaps containing at least one ArcGIS Tiled Service. | 62 Geocortex Mobile App Framework 2.0.1.Administrator Guide 5. Click OK. 6. Click Apply Changes. 7. Click Save Site. You can now add your Custom Offline Basemap to an Offline Map. 4.5.5 Configure and Use an Offline Map To use the Geocortex Mobile App Framework offline, an end user must use an Offline Map. An Offline Map specifies the map area, feature layers, and basemaps that can be made available offline in the Geocortex Mobile App Framework. End users can choose to download an Offline Map that suits their needs, or create their own. Once the end user has finished editing an Offline Map and has network connectivity again, they can use the Offline Map's Sync button to synchronize any changes to the Offline Map with the server and vice versa. When you use an Offline Map, the offline data on the device is preferred over that of the Essentials server even if the device has network connectivity. When a viewer is reloaded in the Geocortex Mobile App Framework, the previouslyactive Offline Map remains active. Because of this, if you want any changes in the site to be reflected in the Geocortex Mobile App Framework once you have regained network connectivity, you must use the Offline Maps tool to Go Online, return to the Saved Viewers page, and reload the viewer. If you want to allow users who are not signed in to view Offline Maps: in Manager, click Security & Data, click Policies, and select Allow Public Read Access. Anonymous users cannot edit Offline Maps. Deleting an Offline Map will also delete any associated Custom Offline Basemaps, but not Pre-generated Offline Basemaps. The ZoomToOfflineMapExtent command can be used to zoom the map to the extent of the Offline Map currently being used. You can add an Offline Map using either Essentials Manager or the Geocortex Mobile App Framework. To add an Offline Map: 1. Do one of the following: l In Manager: a. Edit the site you want to configure. b. Click Offline in the side panel. c. Click the Offline Maps tab. The Offline Maps section appears. l In the Geocortex Mobile App Framework: a. Tap Sign In, and sign in with your user credentials. b. Open the viewer to which you want to add an Offline Map. c. If necessary, tap to open the toolbar. 63 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 4.5.5 Configure and Use an Offline Map d. Tap Offline Maps . The Offline Maps panel appears. e. In the Offline Maps panel, tap the Panel Actions Menu button . The Panel Actions Menu opens. f. Tap Manage. The Manage Offline Maps panel appears. 2. Click/tap New. The New Offline Map panel appears. 3. In the Name box, type a name for the Offline Map. After typing a name for the Offline Map, you can click/tap Finish at any time to accept the default settings for a new Offline Map. By default, the offline map area of interest is set to the initial extent, all feature layers and attachments are included for offline use, no offline basemaps are included, and the Offline Map is not shared. 4. Click/tap Area of Interest. The Select Area of Interest panel appears. 5. Select one of the selection tools, and use it to select the area of the map that you want to use offline. 6. Click/tap Back. The New Offline Map panel reappears. 7. Click/tap Layers. The Select Layers panel appears. 8. Select the feature layers you want to be available offline. If you want restrict the number of features of a layer, click/tap to set a definition expression for the layer. This is equivalent to a WHERE clause in SQL. For example, TYPE = 'Residential'. 9. If you want feature attachments to be included offline, select the Include Attachments checkbox. 10. Click/tap Back. The New Offline Map panel reappears. 11. Click/tap Basemaps. The Select Basemaps panel appears. 12. For each of your basemaps, select one of the following: l l None: If you don't want to use a basemap offline. Pre-generated: If you want to use a Pre-generated Offline Basemap from the Offline Basemaps page in Essentials Manager: a. From the drop-down menu, select the Pre-generated Offline Basemap you want to use offline. | 64 Geocortex Mobile App Framework 2.0.1.Administrator Guide l Custom: If you want to use a Custom Offline Basemap from the Basemaps page in Essentials Manager: a. Click/tap Edit. The Offline Basemap Detail panel opens. b. Use the slider to select the level of detail you want to be available offline. c. Click/tap Done. d. In the Days Between Refresh box, type the period of days to wait until the TPK file should regenerate when the user syncs the Offline Map. 13. Click/tap Back. The New Offline Map panel reappears. 14. Click/tap Sharing. The Sharing panel appears. 15. To share the Offline Map with others, do one of the following: l Share with an individual user: a. From the drop-down menu, select Individuals. b. In the Search box, type the name of the user you want to share with. c. Click/tap Add. The user is added to the list of those to share with. l Share with a group of users: a. From the drop-down menu, select Groups. b. In the Search box, type the name of the group of users you want to share with. c. Click/tap Add. The group is added to the list of those to share with. Repeat this step to share the Offline Map with as many users or groups as you want. 16. For each user and group in the list, select one of the sharing options: l None: If you do not want to share the Offline Map with this user or group. l View: If you want this user or group to be able to view the Offline Map, but not edit it. l Edit: If you want this user or group to be able to view and edit the Offline Map. 17. Click/tap Back. The New Offline Map panel reappears. 18. Click/tap Finish. To use an Offline Map: 1. In the Geocortex Mobile App Framework, open a viewer for a site that contains Offline Maps. 2. If necessary, tap to open the toolbar. 65 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 4.6 Translation 3. Tap the Offline Maps tool . The Offline Maps panel appears. 4. Tap the Offline Map you want to use. Offline Maps yet to be downloaded are marked with a download icon . 5. If prompted to confirm you want to download the Offline Map, tap OK. The Offline Map starts to download. After the Offline Map has finished downloading, it becomes active. If you want to return to only using online data, tap Go Online. 6. While your Offline Map is active, you can browse and edit features on the map even without network connectivity. 7. When you regain network connectivity, tap the Offline Map's Sync button . The synchronization process starts. When finished, your edits are synchronized with the server and your Offline Map is also updated. 4.6 4.6.1 Translation Translate the Geocortex Mobile App Framework The Geocortex Mobile App Framework supports translation by using locale files. A locale file contains all the words for the user interface in a particular language. Once a locale file has been created in the desired language, you can load the translated file into the App on a device in the same way as a resource—by using a resource URI. You can send the URI of the locale file in an email, add it to a button or a link on a website, or use any other method to send the link. The locale file must contain the code for that language in the name of the file like this: gcxLang-[language code]-[country code].json For example, gcxLang-en-ca.json for Canadian English. The [language code] is a language code from the ISO 639-1 standard. The [country code] is a country code from the ISO 3166-1 standard. When you click the URL to the locale file, the file is downloaded to the device. You must then set the locale of the device to the translated language. When you reopen the App, it checks the locale setting of the device, then searches for the translated locale file in the downloaded content. If the locale file matches the locale setting on the device, the App opens in the translated language. If an appropriate locale file is not found, the application opens in the default language (English). Viewers inside the Geocortex Mobile App Framework are translated separately using the normal translation procedure outlined in the Translation section of the Geocortex Viewer for HTML5 Administrator and Developer Guide. See Add Viewers and Resources on page 54 for instructions on adding a viewer. An example of a locale file is included within the Geocortex Mobile App Framework ZIP file in the following location: www\Resources\Locales\gcxLang-en-us.json. | 66 Geocortex Mobile App Framework 2.0.1.Administrator Guide 5 About Custom Development Prior versions of the Geocortex Viewer for HTML5 referenced the online Esri ArcGIS API for JavaScript. As of version 2.5, the HTML5 Viewer also includes a partial copy of the ArcGIS API for JavaScript. When the geocortexUseLocalEsriApi variable in Index.html, Tablet.html or Handheld.html is set to true, the viewer switches from using the online API to the local copy. These files are located in the root folder of where the HTML5 Viewer is installed. The Geocortex Mobile App Framework requires the local copy of the ArcGIS API to function. By default, viewers downloaded by the Geocortex Mobile App Framework have this variable set to true. If you engage in custom development, it is important to copy any necessary ArcGIS API files that you use to your local copy, in one of the following folders within the HTML5 Viewer folder as appropriate: l Resources/Scripts/dijit l Resources/Scripts/dojo l Resources/Scripts/esri If you do not, your viewer application may work in a web browser when referencing the online ArcGIS API, but fail when referencing the local copy, as the Geocortex Mobile App Framework does. We recommend you set the geocortexUseLocalEsriApi variable to true when testing your custom development so that missing files will be reported in your web browser console. This will help to ensure your application will work in the Geocortex Mobile App Framework. Within Index.html, Tablet.html and Handheld.html, you can simply uncomment the line that reads //var geocortexUseLocalEsriApi = true; by removing the two preceding forward slashes to set the variable. For example, after setting the geocortexUseLocalEsriApi variable to true, suppose your web browser console indicates dijit/tree/TreeStoreModel.js is missing. Download the file from http://js.arcgis.com/3.16/dijit/tree/TreeStoreModel.js and save it to Resources/Scripts/dijit/tree/TreeStoreModel.js within your HTML5 Viewer folder. For more information about custom development, see "Custom Development" in the Geocortex Viewer for HTML5 Administrator and Developer Guide. 6 Offline Through the Geocortex Mobile App Framework, the Geocortex Viewer for HTML5 allows users to work in environments where connection to the Internet is sporadic or absent. Field workers and remote employees can venture into lowconnectivity or no-connectivity areas, and continue to browse and edit spatial and non-spatial data—their normal GIS workflow is not interrupted. As of version 2.0, to use the Geocortex Mobile App Framework offline, you must use Offline Maps. An Offline Map specifies the feature layers, map area, and offline basemaps that can be made available when the device lacks network connectivity. End users can download an Offline Map created by an administrator to suit their needs, or create their own. 67 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 6.1 How Offline Works A typical usage scenario would be a field worker who needs to use the Geocortex Mobile App Framework in a remote location lacking network connectivity. Before departing, the worker would download a suitable Offline Map. At the remote location, the worker would activate the Offline Map to continue working with the map, browsing and editing features. Upon returning to a place with network connectivity, the worker can use the Offline Map's Sync button to synchronize any changes to the map with the server. For a comprehensive list of which features are supported offline, see Offline Support for Features. From version 2.0 of the Geocortex Viewer for HTML5, offline support requires the Geocortex Mobile App Framework. To download and install the Geocortex Mobile App Framework, visit the Geocortex Support Center. Geocortex Workflows are not supported offline. In offline mode, buffering operations do not support negative values. 6.1 How Offline Works Normally, requests from an Essentials client (the viewer) to the server (Essentials) are made across a network. When the viewer is offline, however, all the resources that the HTML5 viewer needs must be available on the local device. The resources the viewer needs offline include JavaScript files, HTML pages, CSS stylesheets, and images, as well as viewer libraries, configuration files, and static REST endpoints. Before the viewer goes offline, the Offline Module caches the REST endpoints the viewer requires to operate. Other resources are kept up to date whenever a viewer is opened in the Geocortex Mobile App Framework while connected to the Essentials server. Note that only files in the following folders will be available offline: l l The folder where the HTML5 Viewer is hosted. For example, C:\inetpub\wwwroot\Html5Viewer. The virtual directory of the HTML5 Viewer on the Essentials server. For example, C:\Program Files (x86)\Latitude Geographics\Geocortex Essentials\Default\REST Elements\Sites\MySite\Viewers\MyViewer\VirtualDirectory. The form of requests is the same whether the viewer is online or offline. When the viewer is offline, the Offline Module intercepts outgoing requests and uses routing rules that redirect the requests to the locally cached resources. For example, the viewer might generate a request to initialize the site at a given URL. The Offline Module traps the site initialization request, applies the appropriate routing rule, and loads the site from the cached data instead of from the URL. 6.2 Offline Editing and Syncing As of version 2.0 of GMAF, offline editing uses Esri's Replicas technology, which requires a Standard ArcGIS Runtime License. | 68 Geocortex Mobile App Framework 2.0.1.Administrator Guide To enable offline editing, you must first prepare your ArcGIS feature services for offline use. Ensure each has the sync capability enabled, the Global ID field added to their data, archiving or versioning enabled on their data, and their relationships and attachments configured with a Global ID primary key. For more information, see Prepare data for offline use in Esri's online documentation. Offline editing requires the site to have at least a single editable layer. Offline Maps typically include feature layer data for offline use. In the Geocortex Mobile App Framework, users can edit the following offline by activating an Offline Map: l Features l Tables l Related records l Attachments When an Offline Map is activated, the Geocortex Mobile App Framework attempts to update the Offline Map with the latest configuration. When an Offline Map's Sync button is pressed while the device has network connectivity, changes made to the map are synchronized with the server. Note this synchronization occurs in both directions: not only are the user's changes saved to the server, the user's Offline Map is also updated with any changes made in their absence. During the synchronization process, the offline basemaps are updated first if necessary, followed by the feature data. 6.3 How the End User Edits Features The steps to follow are the same no matter which type of device you're using—desktop, tablet, or handheld. To edit a feature, your site must have at least one feature layer with editing enabled. To edit a feature: 1. Click I want to and select Find data on the map. Alternatively, open the toolbar and click an Identify tool, if one exists. 2. Drag on the map to surround the feature you want to edit. A list of identified features displays. 3. In the list of identified features, click the feature you want to edit. 4. Click the Panel Actions Menu, and click Edit Feature. If there is no Edit Feature option, then you cannot edit the feature. The View/Edit Attributes panel displays. 5. Edit the attributes that you want to change. If an attribute is gray, you cannot edit it. 69 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. 6.3 How the End User Edits Features 6. If the feature has geometry and you want to modify the geometry: a. Click Edit Geometry. Instructions for editing the geometry display on the map. b. Change the geometry. c. When you are satisfied with your changes, click Save Geometry. 7. Click Save. Your changes are saved. If you are online, clicking Save saves your changes to the server. If you are offline, clicking Save saves your changes locally—you still have to sync your changes to save them to the server. 8. Click the Close icon to close the View/Edit Attributes panel. To delete a feature: 1. Click I want to and select Find data on the map. Alternatively, open the toolbar and click an Identify tool, if one exists. 2. Drag on the map to surround the feature you want to delete. A list of identified features displays. 3. In the list of identified features, click the feature you want to delete. 4. Click the Panel Actions Menu, and click Edit Feature. If there is no Edit Feature option, then you cannot delete the feature. The View/Edit Attributes panel displays. 5. Click Delete. You are prompted to confirm that you want to delete the feature. 6. Click OK. The feature is removed from the map. 7. If you are working offline, you still have to sync your changes to the server. To create a feature: 1. Click I want to and select Change visible map layers. The list of layers displays. 2. Click the Show Layer Actions icon beside the layer you want to add a feature to. The list of layer actions displays. | 70 Geocortex Mobile App Framework 2.0.1.Administrator Guide 3. Click Create a feature. The Create a feature panel opens. 4. Select the feature subtype you want to add. Instructions for adding the feature to the map display on the map. 5. Add the feature to the map. The View/Edit Attributes panel displays. 6. Edit the attributes that you want to give values to. If an attribute is gray, you cannot edit it. 7. If the feature has geometry and you want to modify the geometry: a. Click Edit Geometry. Instructions for editing the geometry display on the map. b. Change the geometry. c. When you are satisfied with your changes, click Save Geometry. 8. Click Save. Your changes are saved. Clicking Save saves your changes locally—if you are working offline, you still have to sync your changes to the server. 9. Click the Close icon 6.4 to close the View/Edit Attributes panel. Offline Access to Secured Sites As of version 2.0, the Geocortex Mobile App Framework on all platforms supports services secured with Web Tier Authentication. However, to ensure the App functions properly, you must set up CORS (Cross-Origin Resource Sharing) in Essentials. To do so, you must remove any previous CORS configuration, run and complete the Post Installer, and ensure the RestAppSettings.xml file in your Sites folder has an <AllowOrigins> element that contains <Origin Url="http://127.0.0.1:8181" />. For more information, see "Set Up Cross-Origin Resource Sharing (CORS)" in the Geocortex Essentials Installation Guide. If a site contains any components with Essentials security applied, it is considered a secured site. Secured sites are accessed by signing into the viewer with valid credentials. Before you can access a secured site while offline, you must first configure offline mode for a viewer. Ensure that you use an Offline Map's Sync button to cache the feature layers you want to use offline, whether they are secured or not. Once you are offline, you will not need to sign in to access any secured feature layers to edit them. When you return to online mode, you may be required to sign in to synchronize your changes. 71 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. Appendix A: Offline Support for Features Appendix A: Offline Support for Features The following tables list features which are and are not supported when the Geocortex Mobile App Framework lacks network connectivity. A.1 A.1 Features with Offline Support 72 A.2 Features without Offline Support 74 Features with Offline Support Feature Notes Accessibility: Keyboard Support The screen reader accessibility feature is not supported in the Geocortex Mobile App Framework. ArcGIS Feature Layers ArcGIS Tiled Map Services Barcode Scanning Basemaps The basemaps must be downloaded to the device before they can be used offline. Basemap Switcher Bookmarks Buffer In offline mode, buffering operations do not support negative values. Charts Printing of charts is not supported offline. Clustering Compact Toolbar Coordinates Widget Drawing Tools Essentials Security Although you can't sign in while offline, you can access secured content that was previously cached while online. As of version 2.0, the Geocortex Mobile App Framework supports Web Tier Authentication on all platforms. Feature editing and Synchronization In offline mode, you can edit the features of layers previously cached. After returning online, use the Offline Map's Sync button to synchronize any | 72 Geocortex Mobile App Framework 2.0.1.Administrator Guide Feature Notes changes made. Feature Hyperlinks Field Formatting File Attachments Prior to version 2.0, file attachments could be attached but not viewed offline. As of version 2.0, file attachments can be both attached and viewed offline. Filter As of version 2.0, you can filter features offline. Full Extent Geolocation Geometry Services Heat Maps Home Panel I Want To Menu Identify You can only perform offline Identify operations on layers that were previously cached. Initial Extent Layer Hyperlinks Layer List Layer Themes Legends Logging Map Tips Measurement Tools Includes the Advanced Measurement Tools. Overview Map Pushpins Query As of version 2.0, you can query layers offline. Related Features 73 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. A.2 Features without Offline Support Feature Notes Relationships Scale Bar Widget Search As of version 2.0, you can search offline. Snapping Tabbed Toolbar Tables A.2 As of version 2.0, ArcGIS Tables are supported offline. Not to be confused with Search Tables, which are not supported offline. Features without Offline Support Feature Notes ArcGIS Dynamic Map Services Bing Map Services Data Links Export Export Results to CSV Export Results to XLSX Export to Shapefile Feature Maps Geocoding Services Insight Integration KML Services Linked Maps OGC Map Services Optimizer Integration Printing Projects | 74 Geocortex Mobile App Framework 2.0.1.Administrator Guide Feature Notes Reports Search Tables Not to be confused with ArcGIS tables, which are supported offline. Share Tool Web Tiled Layers For example, Open Street Map. Workflows 75 | © 2016 Latitude Geographics Group Ltd. All Rights Reserved. Appendix B: Historical Requirements Appendix B: Historical Requirements The following table lists all versions of Geocortex Mobile App Framework and their minimum software requirements. Geocortex Mobile App Framework Geocortex Essentials Geocortex Viewer for HTML5 iOS Windows Android 2.0.1 (current) 4.5 2.6.1 8.0 7, 8, 10 4.4 2.0 4.5 2.6 8.0 7, 8, 10 4.4 1.3.2 4.4 2.5.2 7.0 7, 8, 10 4.0.3 1.3 4.4 2.5 7.0 7, 8, 10 4.0.3 1.2 4.3 2.4 5.1.1 7, 8, 10 4.0.3 1.1 4.0 2.0 5.1 7, 8, 10 Unsupported 1.0 3.4 1.2.1 5.1 Unsupported Unsupported Windows Phone and Windows RT are not supported by any version of Geocortex Mobile App Framework. | 76
© Copyright 2026 Paperzz