Preview only show first 10 pages with watermark. For full document please download

Gvs Installation Guide

   EMBED


Share

Transcript

Administrator and Developer Guide Geocortex Viewer for Silverlight 1.9 Copyright © 2013 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, 200 - 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.22719, as applicable. The Contractor/Manufacturer is Latitude Geographics Group Ltd., 200 - 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 About the Geocortex Viewer for Silverlight 1 1 1.1.1 About This Guide 1 1.1.2 Disclaimer 1 1.1.3 Release Schedule 1 2 Requirements 2 2.1 Browser Requirements 2 2.2 Server Requirements 2 2.3 ArcGIS Server Requirements 3 2.4 Developer Requirements 3 3 Download Software 3.1 Download and Extract the Installation Package 4 4 3.1.1 Create a Support Account 4 3.1.2 Contents of the Installation Package 4 4 Installation 6 4.1 Installation Options 6 4.2 Install Using a Template 6 4.3 Install Manually 4.4 Launch Viewer 5 Upgrade 5.1 Upgrade 6 Architecture 6.1 Foundational Technologies 9 10 10 10 13 13 6.1.1 Microsoft Silverlight V4 13 6.1.2 Prism 13 6.1.3 ArcGIS API for Microsoft Silverlight/WPF 13 6.1.4 Geocortex Essentials Silverlight API 14 6.2 Design Principles 14 6.2.1 Configurable 14 6.2.2 Customizable 14 6.2.3 Prism Framework 14 6.2.4 Prism Modules, Views, Commands, and Events 14 6.3 Basic Components 15 6.3.1 Modules 15 6.3.2 Views 16 6.3.3 Shell 16 6.3.4 Regions 16 6.3.5 Library 17 |i Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide 6.3.6 Globals 7 About Viewer Configuration 18 18 7.1 Manager vs XML Configuration 18 7.2 Configuration Files 19 7.2.1 About the Viewer.xml File 19 7.2.2 About the Viewer.Defaults.xml File 21 7.3 Startup Files and the Startup Sequence 22 7.3.1 Viewer.html 22 7.3.2 Viewer.Settings.xml 22 7.3.3 The Splash Screen and Launch Page 24 7.3.4 Specify the Viewer Configuration to Display 25 7.3.5 Startup Sequence 26 7.4 List of Predefined Silverlight Viewer Regions 8 Configure Start Up and the Interface 28 29 8.1 URL Parameters 29 8.2 Change Words on the Launch Page 30 8.2.1 Change Your Organization Name Here Graphic 30 8.2.2 Change Launch Button Text 31 8.3 Configure the Home panel 32 8.4 Change the Look and Feel 34 8.5 Change Viewer Information 37 8.6 Configure the I Want To Menu 38 8.7 Configure the Toolbar 41 8.8 Change the Behavior of Tools 47 8.9 Configure the Layer List 49 8.10 Set the Visibility of Layer Labels 51 8.11 Configure Map Widgets 52 8.12 Configure the Map Module 57 8.13 Menus 62 8.13.1 Items 63 8.14 Themes 63 8.15 Configure the Scale Range of Base Maps 64 9 Configure Modules 66 9.1 About Module Configuration 66 9.2 Enable or Disable Modules 67 9.3 Advanced Editing Module 68 9.4 Advanced Map Controls Module 69 9.5 Authentication Dialog Module 69 9.6 Banner Module 69 9.7 Base Map Control Module 70 9.8 Base Map Cache Module 71 ii | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 9.9 Bookmark Module 71 9.10 Callouts Module 71 9.11 Coordinate Tool Module 72 9.12 DatumTransform Module 73 9.13 Editing Module 74 9.14 Export Map Module 75 9.15 Extract Module 76 9.16 Feature Actions Module 76 9.17 Geocoding Module 77 9.17.1 Reverse Geocoding 79 9.17.2 Batch Geocoding 81 9.18 GeoRSS Module 83 9.19 Global Search Module 83 9.20 Graphics Layer Search Module 83 9.21 Help Module 83 9.22 Identify Module 85 9.23 Info Module 86 9.24 Instant Search Module 89 9.25 I Want To Menu Module 89 9.26 JavaScript Module 90 9.27 Layer Catalog Module 90 9.28 Layer Drawing Order Module 91 9.29 Layer List Module 91 9.30 Layer Search Module 95 9.31 Map Module 95 9.32 Map Tips Module 97 9.33 Markup Module 98 9.34 Measurement Module 99 9.35 Open Csv Module 100 9.36 Open Shapefile Module 100 9.37 Optimizer Integration Module 101 9.38 Overview Map Module 101 9.39 Print Templates Module 102 9.40 Progress Indicator Module 102 9.41 Query Builder Module 102 9.42 Reporting Module 105 9.43 Results Module 105 9.44 SaveOpenProject Module 105 9.45 Scale Bar Module 106 9.46 Scale Dependent Base Maps 106 9.47 Scale Slider Module 107 9.48 Selection Module 107 | iii Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide 9.49 Shell Module 110 9.50 Site Module 112 9.51 Symbolization Module 112 9.52 Time Slider Module 114 9.53 Toolbar Module 116 9.54 URL Integration Module 117 9.55 User Layer Addition Module 117 9.56 Xaml Shell Module 117 9.57 Web Map Integration Module 118 9.58 Watermark Module 119 9.59 Workflow Module 119 10 Configure Features 120 10.1 Add User Layers 120 10.1.1 Configure the Add User Layers Feature 10.1.2 Configure Map Service Providers for User-Added Layers 10.2 Data Extraction 10.2.1 Set up Data Extraction 10.3 GeoRSS 122 123 128 128 136 10.3.1 About GeoRSS 136 10.3.2 Configure GeoRSS 139 10.4 Configure Map Tips 141 10.5 Configure Feature Description Hyperlinks 143 10.6 Layer Themes 143 10.6.1 About Layer Themes 143 10.6.2 Add a Layer Theme 146 10.6.3 Configure Layer Themes 147 10.7 Add Third-Party Maps 148 10.7.1 Add Existing Web Maps 148 10.7.2 About the Pictometry Extension 149 10.7.3 Viewer/Pictometry Integration 150 10.7.4 Connect to Pictometry 10.8 Help Framework 154 157 10.8.1 Help Topics/Help Manager 157 10.8.2 Invoking Help 158 10.8.3 Context-Sensitive Help 158 10.8.4 Help Module 158 10.8.5 HTML Help System 160 10.9 Include Geocoding Services in Global Search 160 10.10 Edit Attributes on the Map 161 10.11 Export Georeference Data 162 10.12 Advanced Editing Extension 163 iv | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 10.12.1 About the Advanced Editing Extension 163 10.12.2 Deploy the Advanced Editing Extension 164 10.12.3 Configure Layers for Editing 167 10.12.4 Disable Advanced Editing 169 10.13 Manage Service Outages 11 Configure ArcGIS Server Features 170 171 11.1 Attachments 171 11.2 Coded Value Domains 172 11.3 Subtypes 172 12 Configure Workflow 173 12.1 Configure Workflow 173 12.2 Workflow Container Configuration 175 12.2.1 Set up 175 12.2.2 Examples of Workflow Containers 176 13 Advanced Configuration 13.1 Configure XML Elements 177 177 13.1.1 XML Root Element 177 13.1.2 178 13.1.3 178 13.1.4 180 13.1.5 181 13.1.6 182 13.2 XML File Inheritance 183 13.3 Inheritance Operations 184 13.3.1 Globals 185 13.3.2 Libraries 185 13.3.3 Modules 185 13.4 Integrate Optimizer 185 14 Custom Development 186 14.1 Key Concepts 186 14.1.1 Modules 186 14.1.2 Views 187 14.1.3 Commands 187 14.2 Developer Quickstart 189 14.3 MultiView Control 189 14.4 Customize the Feature Details Dialog 192 14.4.1 Register a Custom View 195 14.5 JavaScript Integration Module 195 14.6 Composite Delegate Commands 196 14.6.1 Enumerations 197 |v Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide 14.6.2 Override Default Behavior 198 14.6.3 Augment/Replace Existing Commands 198 14.7 Global Search 198 14.7.1 Interactions 199 14.7.2 Auto Complete 199 14.7.3 Search Provider Interface 199 14.7.4 Interface Methods and Properties 201 14.7.5 Register a Search Provider with Search Manager 202 15 Reference 204 15.1 Command Reference 204 15.1.1 CallOutCommands 204 15.1.2 EditingCommands 205 15.1.3 ExportCommands 205 15.1.4 ExportMapCommands 206 15.1.5 ExtractCommands 207 15.1.6 FeatureCommands 207 15.1.7 FeatureSetManagerCommands 208 15.1.8 FileCommands 211 15.1.9 FilterBuilder Commands 211 15.1.10 GeographyCommands 211 15.1.11 HelpCommands 212 15.1.12 IdentifyCommands 212 15.1.13 InfoCommands 214 15.1.14 LayerCatalogCommands 214 15.1.15 LayerDrawingOrderCommands 214 15.1.16 LayerListCommands 214 15.1.17 LayerThemeCommands 215 15.1.18 LogCommands 215 15.1.19 MapCommands 216 15.1.20 MapTipCommands 219 15.1.21 MarkupCommands 220 15.1.22 MeasurementCommands 221 15.1.23 OptimizerCommands 222 15.1.24 PrintTemplatesCommands 222 15.1.25 ProjectCommands 222 15.1.26 ReportingCommands 223 15.1.27 ResultsListCommands 223 15.1.28 SearchCommands 225 15.1.29 SelectionCommands 225 15.1.30 ShellCommands 226 15.1.31 SymbolCommands 228 vi | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 15.1.32 ThirdPartyMapIntegration Commands 228 15.1.33 ToolbarCommands 229 15.1.34 ViewCommands 230 15.1.35 VisualStatusCommands 231 15.1.36 WorkflowCommands 15.2 Event Reference 231 232 15.2.1 AuthenticationEvents 233 15.2.2 EditingEvents 233 15.2.3 FeatureEvents 234 15.2.4 FeatureSetManagerEvents 234 15.2.5 LayerThemeEvents 235 15.2.6 MapEvents 236 15.2.7 MarkupEvents 238 15.2.8 NamedEventAttribute 238 15.2.9 ProjectProgressEvent 238 15.2.10 QueryEvents 239 15.2.11 SearchProgressEvent 239 15.2.12 SiteEvents 239 15.2.13 ToolEvents 240 15.2.14 ThirdPartyMapIntegration 241 15.2.15 UIEvent 241 15.2.16 WorkflowEvents 241 16 Getting Help 243 16.1 Help and Resources 243 16.1.1 Resource Centers 243 16.1.2 Geocortex Essentials Discussion Forum 243 16.1.3 Support: Email 243 16.1.4 Send Log Files 243 16.2 Related Documents 244 16.3 Provide Feedback on Documentation 245 17 Glossary 245 | vii Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide 1 1.1 Welcome About the Geocortex Viewer for Silverlight Welcome to the Geocortex Viewer for Silverlight 1.9 Administrator and Developer Guide. The Geocortex Viewer for Silverlight is a web mapping and GIS application that is both configurable and extensible. You can run the Viewer out of the box and adapt it to work with existing map services within minutes. Alternatively, you can configure the Viewer using several built-in options or extend it using custom development. The Viewer is based on Microsoft Silverlight, ArcGIS API for Microsoft Silverlight, and the Geocortex Essentials Silverlight API. 1.1.1 About This Guide The Administrator and Developer Guide explains how to install, configure, and add custom code to the Geocortex Viewer for Silverlight. This guide can be found in the installation package available on the Downloads tab of the Geocortex Support Center http://support.geocortex.com. Other resources: Help and Resources on page 243 Related Documents on page 244 1.1.2 Disclaimer The Geocortex Viewer for Silverlight works with other licensed software products. You are responsible for ensuring that all the required software licenses are in place and appropriate for your chosen system configuration. Any software installation involves some risk to your system. Make sure you back up all software and data before you install any Geocortex Viewer for Silverlight components. Please refer to your Geocortex Viewer for Silverlight software license agreement for information about limitations on liability and other legal considerations. 1.1.3 Release Schedule Although Geocortex Viewer for Silverlight was developed to be used with Geocortex Essentials and Esri’s ArcGIS API for Silverlight, the Viewer has its own development and release schedule, which is related to, but independent of, the release schedule for Geocortex Essentials. 1 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 2 Requirements 2 2.1 Requirements Browser Requirements The Geocortex Viewer for Silverlight runs on all major browsers. To run the Viewer, a browser must have the Microsoft Silverlight plug-in installed. In most circumstances, if the browser does not have the Silverlight plug-in installed when the Viewer is launched, the user is prompted to install it. The plug-in is available as a free download from Microsoft. Silverlight plug-in requirement Software Minimum Version Microsoft Silverlight plug-in 2.2 4 Server Requirements There are two ways to deploy the Geocortex Viewer for Silverlight—using Geocortex Essentials, or manually: l Using Geocortex Essentials: This method integrates the Silverlight Viewer with Essentials Manager, so you can use Manager to add viewers to your sites and configure common viewer settings. l Manual installation: This method is for expert users who want access to all the Viewer's configurable options, and control over where the Viewer is located. Manual installation requires an understanding of web servers. It also requires that you edit the XML files manually. For more information about the two methods, see Installation Options on page 6. Requirements for Manual Installations The Geocortex Viewer for Silverlight works with any web server capable of serving static content over HTTP, such as Apache Tomcat or Internet Information Services (IIS) on Windows. Requirements for Managed Installations If you want to be able to use Geocortex Essentials Manager to manage your Silverlight viewers, you must install and deploy the Viewer following the procedure described in Install Using a Template on page 6. This procedure deploys the Viewer to IIS on the server running Essentials. In this case, the server must meet the requirements for hosting Essentials. For more information on Essentials' requirements, refer to the Geocortex Essentials Installation Guide. Managed installations of the Silverlight Viewer require Essentials 3.4 or later. We recommend Geocortex Essentials version 3.14 or later. The Viewer runs with reduced functionality on older versions of Essentials. Versions of Windows and IIS supported by Geocortex Essentials Supported Versions of Windows Windows Server 2012 Version of IIS IIS 8.0 |2 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide Supported Versions of Windows 2.3 Version of IIS Windows 8 (Pro and Enterprise) IIS 8.0 Windows Server 2008 R2 IIS 7.5 Windows 7 (Pro, Enterprise, and Ultimate) IIS 7.5 Windows Server 2008 IIS 7.0 Windows Vista (Home Premium, Business, Enterprise, and Ultimate) IIS 7.0 Windows Server 2003 IIS 6.0 Windows XP (Professional x64 only) IIS 6.0 ArcGIS Server Requirements The Geocortex Viewer for Silverlight works with: l ArcGIS Server 9.3 l ArcGIS Server 9.3.1 l ArcGIS Server 10.0 (including service packs) l ArcGIS Server 10.1 ArcGIS Server 10 or later is required for editing. ArcGIS Server 10.1 is required for dynamic symbolization. 2.4 Developer Requirements The table below lists the third-party software that is required if you are going to extend the Silverlight Viewer. Install this software before you install the Viewer. Requirements for extending the Geocortex Viewer for Silverlight Software Microsoft Visual Studio Minimum Version 2010 Notes You can use Web Developer Express to extend the Silverlight Viewer. A free edition of Web Developer Express is available for download from Microsoft that can be used to create Viewer extensions. Microsoft Silverlight 4 Tools for Visual Studio 2010 4 Microsoft Expression 4 Add-on and pre-requisite files for Visual Studio 2010 to develop Silverlight 4 applications. Blend An application design tool for Silverlight applications. Optional if you plan to program extensions to the Geocortex Viewer for Silverlight. Microsoft Expression Blend SDK 4 The Expression Blend Software Development Kit (SDK) for Silverlight 3 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 3 Download Software Software Minimum Version Notes 4 contains redistributable components that you need for building Expression Blend 4 applications. 3 3.1 Download Software Download and Extract the Installation Package The Geocortex Viewer for Silverlight is available for download from the Geocortex Support Center (http://support.geocortex.com/). 3.1.1 Create a Support Account To access the Support Center, you need an account. If you do not have an account, there is a link on the main Support page with instructions on how to set up an account. Once you have requested an account, you will be sent an acknowledgement email. When your account has been approved, you will receive separate emails with a temporary password and information on how access the forums and personalize your password. 3.1.2 Contents of the Installation Package In the Geocortex Viewer for Silverlight section, there are several versions of the Viewer available for download. A separate download in this folder is the Geocortex Viewer for Silverlight Language Tool.zip: An application that simplifies and streamlines the process of translating the strings in the Viewer application. Inside each version of the Viewer, there are the following separate files for download: l Administrator and Developer Guide.PDF: A printable document on how to install and configure the Geocortex Viewer for Silverlight. l Installation Guide.PDF: A printable document on how to install the Geocortex Viewer for Silverlight. l Release Notes.pdf: Information about changes included in the most recent, and past releases, of the Geocortex Viewer for Silverlight. l Geocortex Viewer for Silverlight 1.9.zip: A ZIP file that contains a ready-to-deploy Geocortex Viewer for Silverlight application. You can use the Viewer as it is after you install the Viewer on the web server of your choice, or you can configure and customize it. This zip file contains all the files necessary to deploy the Viewer. Because it is self contained, it includes many of the same files as those on the web page so that you can download one zipped file rather than several individual files. The zip file contains: l Installation Guide.PDF: A printable document on how to install the Geocortex Viewer for Silverlight. l Administrator and Developer Guide.PDF. l Geocortex.Essentials.SilverlightViewer.Template.1.9.vte: The Viewer template file. Template files (.vte extension) work with the Geocortex Essentials Viewer Template Engine. This template file makes it possible to configure or customize the Viewer in Geocortex Essentials Manager. The template provides management interfaces within Geocortex Essentials Manager. |4 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide l README.txt: A short list of the contents of the zip file and information about this release of the Viewer. l Release Notes.pdf. l SilverlightViewer.zip: The Viewer application files. l Upgrader.zip: The Upgrader package contains a command-line version of the upgrade tool used by REST Manager to upgrade Viewer configurations. To download and extract the installation package: 1. Log in to the Geocortex Support Center. 2. Select the Downloads tab. 3. Under Geocortex Essentials section, click the link to the Geocortex Viewer for Silverlight. The documentation and the zip file for the Viewer display. 4. Select the version by clicking Geocortex Viewer for Silverlight 1.9. The Zip file and documentation for the Viewer display. Example of a download package in the Support Center 5. Click Geocortex Viewer for Silverlight 1.9.zip. You may be asked to enter your password again. When you have entered your password, the File Download dialog box appears. 6. Save the zip file to a temporary location on your computer, for example, C:\Temp\. 7. In Windows, navigate to where you saved the zip file. 8. Extract the files to a temporary folder, for example, C:\Temp\. 9. If you plan to install the files manually, copy the contents of the SilverlightViewer.zip into a folder that is accessible by a web server. If you plan to integrate the Viewer with Geocortex Essentials, see Install Using a Template. 5 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 4 Installation 4 4.1 Installation Installation Options For convenience, there are two ways to install the Geocortex Viewer for Silverlight—using Geocortex Essentials, or manually. Whether you plan to install manually or using Geocortex Essentials, you need to download the Installation package from the Geocortex Support Center (http://support.geocortex.com/). 4.2 Install Using a Template These instructions describe the steps for installing the Geocortex Viewer for Silverlight template and integrating it with Geocortex Essentials Manager. If you have the Essentials Manager web application installed, then installing the Viewer template makes it possible to use the Geocortex Viewer for Silverlight Management Pack. The Management Pack is an add-on web application that allows you to easily configure and deploy the Viewer. This option makes configuration easier and most commonly-used features can be configured when this installation method is used. If you need full control of the XML files and plan to deploy multiple web-mapping applications, then we recommend that you install the Viewer manually. If you wish to use the template install, and have not already installed Geocortex Essentials 3.14 or later, please install Geocortex Essentials using the Geocortex Essentials Installation Guide, which is listed on the Downloads tab on the Geocortex Support Center. To install and register the Viewer for Silverlight template: 1. On the desktop, click Start, and then select Latitude Geographics | Geocortex Essentials | Post Installation Configuration. Launch Post Installation Configuration from Start The Geocortex Essentials Post Installation Configuration window opens. 2. In the Configuration - REST Elements section, click Configure Templates. |6 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide The Installed Templates box displays a list of all the templates currently installed in this instance of the Geocortex Essentials installation. The box may be empty if no templates are installed. 3. Click Add, and when the Select a Template File dialog box opens, browse to the location where you extracted the download package. 4. Click Geocortex.Essentials.SilverlightViewer.Template.1.9.vte, which is the template file, and then click Open. If you have installed Geocortex Essentials Manager, you are prompted to install a Management Pack for REST Manager. Prompt to install the Management Pack for REST Manager 5. Click Yes to install the Management Pack. A prompt asks you if you want to deploy the Geocortex Viewer for Silverlight application into an IIS virtual directory. Prompt to deploy the application to an IIS virtual directory 6. Click Yes. The Deploy Template to IIS dialog box opens. In the Select Virtual Directory box, the name SilverlightViewer_1_9 is displayed as a suggested name for the new virtual directory. The URL in Register URL with Manager points to the new virtual directory. The Deploy Template to IIS dialog box 7 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 4.2 Install Using a Template 7. In the Select Virtual Directory box, you can type a different name for the IIS virtual directory that you want to deploy your Viewer to. The virtual directory that you create here becomes the location where your application is launched from. The virtual directory must not already exist. The Geocortex Viewer for Silverlight prefers to use a virtual directory that includes the version number as a part of its path. To make upgrades simpler, remove the version from the virtual directory path or provide another (unique) path. Then, when upgrading, rename the existing folder and re-use the virtual directory name for the new version. The registered URL of the virtual directory for the new viewer will now be identical to that of the old viewer, and you will have a backup copy of the old viewer. 8. To register the Viewer Management Pack with Geocortex Essentials Manager, ensure that the check box in front of Register URL with Manager is selected. Registering the URL makes it possible to launch your Viewers from Geocortex Essentials Manager. 9. Click Deploy. A prompt tells you that the virtual directory was created. The URL has also been registered with Geocortex Essentials Manager. Prompt that the virtual directory has been created and the URL registered 10. Click OK. You return to the Geocortex Essentials Post Installation Configuration window. 11. In the Installed Templates box, click the name of the template. A panel with three buttons appears. You can use this panel to delete the template, install the Management Pack in Geocortex Essentials, or deploy the template to IIS. Installed Templates box 12. Click Finish to close the Post Installation Configuration window. |8 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide 13. To verify your installation, open your browser to the virtual directory that you created. The default link to use in the browser is: http://MACHINENAME/silverlightviewer_1_9/Viewer.html 14. When the Geocortex Viewer for Silverlight tab appears, click Launch. The Viewer displays a sample map of Charlotte. You have now installed the Geocortex Viewer for Silverlight and have registered the Viewer Management Pack with Geocortex Essentials Manager. This means that you can manage Viewer configuration for new or existing sites that you create from within Geocortex Essentials Manager. 4.3 Install Manually These instructions describe the steps for manually installing the Geocortex Viewer for Silverlight web site. Before you begin, you need to ensure that your web server has a MIME type for .xap files registered or the Viewer will not load correctly. You will find instructions for adding the .XAP MIME type for IIS 6 in the MSDN Library. To install the Viewer manually: 1. Unzip the contents of the SilverlightViewer.zip archive found in the installation package into a directory accessible to your web server. For IIS users, this might be: C:\inetpub\wwwroot\Geocortex\SilverlightViewer_1_9. Example of the folder structure of extracted files 2. To verify your installation, launch the Viewer. If you installed in the location specified above, you would use the URL: http://localhost/Geocortex/SilverlightViewer_1_9/viewer.html. 3. When the Geocortex Viewer for Silverlight tab appears in your browser, click Launch. If you are upgrading, there is an upgrade utility in the distribution package that will upgrade your configuration files to the latest version. See the README.txt file in the distribution package for details. 9 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 4.4 Launch Viewer 4.4 Launch Viewer Once installed, you can run the Viewer using a browser that is compatible with Microsoft Silverlight. To confirm the Viewer installed correctly: 1. Log in to the machine hosting the Viewer. 2. Open your browser and in the address, type in the URL to the virtual directory that you created during installation. For example, http://localhost/SilverlightViewer_1_9/Viewer.html. 3. Select a sample Viewer from the list, and then click Launch. 5 5.1 Upgrade Upgrade If you have modified the Viewer.Settings.xml or Viewer.Defaults.xml file, your changes will be lost when you upgrade. Make a backup copy of each of these files before you upgrade. You must manually port your changes to the new files after you upgrade. See Configuration Files on page 19 and Startup Files and the Startup Sequence on page 22 for information on the locations of these files. To upgrade existing installations of Viewer for Silverlight: 1. Download the installation package for the new version of the viewer. Follow the instructions in Download and Extract the Installation Package on page 4. 2. Launch the Geocortex Essentials Post Installation tool. For the default installation, click Start, and then select Latitude Geographics | Geocortex Essentials | Post Installation Configuration. The Post Installation tool opens. 3. In the Configuration - REST Elements section, click Configure Templates. The Installed Templates box displays a list of the templates currently installed in this instance of Essentials. If no templates are installed, the box is empty. 4. Click Add, and when the Select a Template File dialog box opens, browse to the location where you extracted the download package. 5. Select the template file, Geocortex.Essentials.SilverlightViewer.Template.1.9.vte, and then click Open. You are prompted to install the management pack. | 10 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide Prompt to install the Management Pack for REST Manager 6. Click Yes to install the management pack. You are prompted to deploy the Viewer for Silverlight application to an IIS virtual directory. Prompt to deploy the application to an IIS virtual directory 7. Click Yes. The Deploy Template to IIS dialog box opens. Dialog box to deploy the template to IIS 8. In the file system, rename or move the existing virtual directory. You cannot deploy the viewer to an existing virtual directory. The renamed copy is your backup. Renaming the existing directory allows you to deploy to the original location, so you preserve the viewer's launch URL. 9. In the Select Web Site box, select the website where the old version of the viewer was deployed. 10. In the Select Virtual Directory box, type the name or path to the virtual directory where the old version of the viewer was deployed. 11. If you want to be able to launch your HTML5 viewers from Manager, make sure the Register URL with 11 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 5.1 Upgrade Manager check box is selected. If you clear the check box, the launch links do not appear in Manager, but you can still add and configure viewers in Manager. 12. Click Deploy. A message tells you that the virtual directory was created. 13. Click OK. 14. Click Finish The Post Installation tool closes. If you customized the Viewer.Settings.xml or Viewer.Defaults.xml file, you will have to manually port over your changes to the new versions of the files. Now is a good time to do that, before you verify the new installation. 15. To verify your installation, point your browser to the URL that you registered in the Post Installation tool. The default URL to enter in the browser's address bar is: http://MACHINENAME/silverlightviewer _1_9/Viewer.html 16. When the Viewer for Silverlight tab appears, click Launch. The Viewer displays a sample map of Charlotte. You have now installed an upgrade of the Viewer for Silverlight and have registered the management pack with Geocortex Essentials. This means that you can manage viewer configuration in Manager. To complete the upgrade, you must edit each Viewer for Silverlight viewer in turn and confirm the upgrade. 17. Launch Manager and log in. 18. Edit a site that has one or more Viewer for Silverlight viewers. 19. In the side bar, click Viewers. 20. Edit a Viewer for Silverlight viewer. You are prompted to upgrade the configuration. 21. Click Upgrade. The Viewer Info page opens. If you have made manual edits to your existing viewer configuration files, this procedure could result in errors. 22. Save the site. 23. Repeat steps 22 - 24 for each Viewer for Silverlight viewer in this site. 24. Repeat steps 20 - 25 for each site. You have now upgraded your Viewer for Silverlight viewers. | 12 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide 6 6.1 Architecture Foundational Technologies The Viewer uses a number of foundational technologies, each of which provides a different set of functions. If you plan to develop custom functionality in the Geocortex Viewer for Silverlight you will need to be familiar with these technologies. 6.1.1 Microsoft Silverlight V4 The Geocortex Viewer for Silverlight is built using Microsoft Silverlight version 4. Silverlight is Microsoft’s application framework for creating rich Internet applications that contain graphics, animations, and multimedia. It is an excellent platform for hosting web mapping applications. Microsoft Silverlight is distributed as a browser plug-in and is currently supported in most browsers for the PC and Mac. If you plan to customize the Viewer, learning the basics of programming for Silverlight is a good starting point. http://www.silverlight.net/ is the best place to start for learning about Silverlight development. 6.1.1.1 Managed Extensibility Framework (MEF) MEF is a technology available in Silverlight 4 that makes it possible to development loosely coupled components that are discovered and composed at application runtime. It sounds complicated, but the core concepts are really quite simple. MEF is becoming a widely used technology and is a required skill in any .NET developer’s arsenal. For more information, go to http://mef.codeplex.com/. 6.1.2 Prism Many of the core architectural principles of the Viewer build on a Silverlight application framework called Prism. The framework originated in the Microsoft Patterns and Practices group under the name Composite WPF. It was renamed Prism and is now a supported Microsoft technology. The Geocortex Viewer for Silverlight is built on top of Prism. This means that the better you know Prism, the deeper you can go into customizing the Viewer. If you only want to know enough for basic code changes, then this guide should be enough. For more information on Prism, go to http://compositewpf.codeplex.com/. 6.1.3 ArcGIS API for Microsoft Silverlight/WPF The Geocortex Viewer for Silverlight also uses the ArcGIS API for Silverlight. This comprehensive API makes it possible for users to take advantage of ArcGIS Server’s mapping, geo-coding, editing, and geo-processing abilities from within a Microsoft Silverlight application. The Viewer uses the ArcGIS API for Silverlight to connect to ArcGIS map services and the other related functionality available through the ArcGIS Server REST API. For more information about the ArcGIS API for Microsoft Silverlight, go to ArcGIS API for Silverlight. 13 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 6.1.4 Geocortex Essentials Silverlight API 6.1.4 Geocortex Essentials Silverlight API The Geocortex Viewer for Silverlight also uses Geocortex Essentials Silverlight API, which extends Esri’s Silverlight API. It adds management, security, printing, named extents, workflow, and other commonly used functionality into an easy-to-use construct called a Site. The Geocortex Essentials Silverlight API connects to Geocortex Essentials REST Sites. For more information, go to http://resources.geocortex.com/essentials/apis/. 6.2 Design Principles The Geocortex Viewer for Silverlight is designed to be easily configurable and customizable. The principles, framework, and building blocks of the Viewer are all geared towards making it simple to extend and modify. 6.2.1 Configurable One of the core principles of all Geocortex software is that it is built for configuration rather than customization, and the Geocortex Viewer for Silverlight adheres to this principle. Configuration is done by modifying the XML files. 6.2.2 Customizable Although the preference is for configuration rather than customization, the Viewer has also been built to be customizable. Customizing is done on two levels: 6.2.3 l Editing XML configuration files. l Programming the Viewer’s own API. Prism Framework The Geocortex Viewer for Silverlight is both a typical and an atypical Silverlight application. It is typical in that it consists of a startup web page and a number of application packages called XAP files. The startup web page retrieves the Silverlight application from the server and launches it within the Silverlight plug-in. The Viewer also differs from a typical Silverlight application. Traditional Silverlight applications are monoliths of tightly-coupled Modules, which makes it complex to expand or maintain. Instead, the Geocortex Viewer for Silverlight is built as an extensible framework based on an open-source framework called Prism (http://msdn.microsoft.com/en-us/magazine/cc785479.aspx). (Microsoft is a strong supporter of the Prism project.) 6.2.4 Prism Modules, Views, Commands, and Events Prism applications are collections of loosely-coupled Modules that are discovered dynamically when the application runs. Prism Modules are designed to be independent of one another. Each Module is loaded and configured separately. In most circumstances, one Module should not be negatively impacted if another Module is not present. Modules can contain a number of views - the user-interface controls that connect to the Module. Modules and views communicate with each other by calling commands and listening for events. See the API Reference section for more information about commands and events. The About Configuration topic contains information about other Prism building blocks like Shells, Regions, and Libraries (or Assemblies). It also explains more about Modules and Views. | 14 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide The Silverlight Viewer ships with a library of commands and events that are available to use when you implement your own applications. If you do not find a command or event that gives you the functionality you need, there is a template for creating your own. 6.3 Basic Components The basic components of a Viewer are: 6.3.1 l Modules l Shell l Views l Regions l Libraries Modules The most important building block when you configure or create a new Viewer is a Module. Normally when you create a software application, the number of components that are in the final product is overwhelming—tools, buttons, user interfaces, graphics, files, data, web services, APIs, documentation, etc. Without a mechanism to organize and group all these components, the end result would be an unmanageable mess. The underlying unit of organization in the Silverlight Viewer is a Module. Modules are used to group related components into units that can be included or excluded, as required. The Geocortex Viewer for Silverlight has many Modules that are part of the default configuration. Some of the main ones are: 6.3.1.1 l Markup tools l Banner l Reporting l Workflow Add or Remove Functions You add or remove a function in the Viewer by adding or removing a Module. You can add new functionality to the Viewer by adding a custom Module. In most cases when you create custom tools, user interfaces, or other functionality, you organize the functions into a Module, and then include the new Module. Similarly, you can create a simple, stripped-down application by deleting Modules and keeping only a few essential ones. 6.3.1.2 Settings In each Module, there are settings that are common to all Modules, as well as settings unique to that Module. For example, the settings for a Banner Module may contain unique URIs for graphics displayed in the banner, as well settings for the color for the banner text. These settings are unique to the Banner Module. The Banner Module also contains information about the Module ID, as well as where to load the Module from and these settings are common to other Modules. Version 1.9 of the Geocortex Viewer for Silverlight contains many Modules and it is the individual settings within these Modules that allow you to control exactly how your Viewer application functions. 15 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 6.3.2 Views 6.3.2 Views Every part of the Geocortex Viewer for Silverlight is either a View or is contained inside a View. A View is the user interface component of a Module. It displays output or accepts input in order to control the behavior of the application. For example, in the Viewer, the Map, Map Layers panel, Tool bar, Overview map, Banner, Navigation bar, Results panel, etc. are all Views. One of the unique characteristics of Views is that they are loosely coupled, which means that ideally, one View does not depend on another View to operate. This independence means that it is relatively easy to replace a particular View with another View that better suits your requirements. Views are the individual user interface components of an application and are placed into specific Regions. The Views and all the other related code are grouped into Modules. 6.3.3 Shell Every Viewer has a Shell. The Shell defines the layout of the user interface. The Shell is a container for placeholder areas called Regions. Shells are usually created by a designer using Xaml. 6.3.4 Regions A Region is a defined area within the Shell that is a placeholder into which Views are placed and displayed. A Region can be an empty floating panel window, a position in the toolbar for adding tools, a position on the map for showing map information, or a dedicated frame with the user interface. A Region is simply a designated placeholder into which a visual element is placed. The mapping of Views into Regions within a Shell gives you flexibility when it comes to the design and layout of a custom user interface. The Geocortex Viewer for Silverlight has a number of defined regions that are shipped with the Viewer. Many of the modules can work in more than one region. The regions are also parameters that can be set in modules or views. The graphic below indicates the various regions shipped with the Viewer and their names. | 16 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide Default regions of the Geocortex Viewer for Silverlight 6.3.5 Library Finally, the Modules, the Shell, and all other related files are packaged together into one or more Libraries that are downloaded by the Viewer at runtime. A Library, also sometimes referred to as an assembly, is the packaging into which all of the code, images and other application pieces get bundled. The Viewer XML configuration files call the libraries, which are then downloaded— usually when the application starts. Libraries often contain multiple Modules. The diagram below illustrates this architecture. 17 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 6.3.6 Globals Diagram of the Viewer building blocks 6.3.6 Globals A global is a key-value pair that when referenced elsewhere in the configuration allows you to substitute a key with a value. An analogous concept from the programming world is a variable or a constant. Globals allow you to define a value once and to reuse that value in multiple places so that if you want to change that value in the future, you only have to change it in one place. Global values can also be overridden by child configuration files. This allows for a common pattern where you alter the configuration of a module in a child configuration file by simply changing the global value, without overriding the entire module. The most common usage of this pattern is for defining the SiteUri. Globals are very often simple primitive values, such as strings or numbers, but can also contain arbitrarily complex XML in the inner XML portion of the element. See also... Foundational Technologies on page 13 Design Principles on page 14 7 7.1 About Viewer Configuration Manager vs XML Configuration There are two ways to configure a Silverlight Viewer: l Manager: Use Essentials Manager. This option is open to you only if you used the Post Installation tool to install the Silverlight Viewer, and you have deployed the Viewer's Management Pack. See Installation Options on page 6 for information. l Manual: Edit the Viewer configuration files in a text editor or XML editor. You can edit all the Silverlight Viewer's common settings using Manager. In a few advanced situations, you might have to edit a configuration file. | 18 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide Manual editing of XML configuration files can be prone to error. It is recommended for advanced users only. Incorrect XML configuration can result in the Viewer's configuration becoming unreadable by the Geocortex Viewer for Silverlight Management Pack and the Geocortex Viewer for Silverlight application. 7.2 Configuration Files Each Silverlight Viewer you add to a site has two configuration files: l Viewer.xml : Contains configuration that is specific to the Viewer, including your custom configuration. When you configure a Silverlight Viewer in Manager, the configuration changes you make are stored in this file. l Viewer.Defaults.xml : Contains configuration that is common to many Silverlight Viewers. The Viewer shares this file with all the Silverlight Viewers that use the same Viewer template. This file includes the list of Modules that are loaded for Silverlight Viewers. Together, the Viewer.xml and Viewer.Defaults.xml files control how the Viewer looks and functions. If a particular Viewer setting is configured in both files, the custom configuration in Viewer.xml overrides the configuration in Viewer.Defaults.xml . 7.2.1 About the Viewer.xml File When you add a Silverlight Viewer to a site in Manager, Essentials creates a minimal Viewer.xml configuration file for the Viewer. The minimal configuration file does the following: l Globals: Gives initial values to the Viewer's global settings, including the SiteUri setting, which specifies the URI where the site's REST endpoint is located. ... You can use the names in the Globals section as replacement tokens in the Viewer.xml file (and other files containing custom configuration, if there are any). For example, if you want to use the string "Geocortex Viewer for Silverlight" somewhere in the Viewer.xml file, you can type "{BrowserTitle}" (without the quotation marks ) instead of "Geocortex Viewer for Silverlight"—the Viewer application substitutes each instance of {BrowserTitle} with Geocortex Viewer for Silverlight throughout the file. The curly brackets around the global setting’s name are required. l Location of Other Configuration Files: Specifies the location of any other configuration files for this Viewer, including the Viewer.Defaults.xml file. l Section for Custom Development: Provides placeholder elements where you configure any custom Modules, 19 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 7.2.1 About the Viewer.xml File Libraries, and Resources you develop. The following markup shows a subset of the default Viewer.xml file that is created when you add a Silverlight Viewer to a site, without changing any of the Viewer's settings. To shorten the markup, a number of the elements within the Globals element have been removed. Subset of the default Viewer.xml file ... The default Viewer.xml file is quite short, because most of the settings come from the Viewer.Defaults.xml file. As you customize a Viewer, its configuration file becomes longer. For example, if you add a menu item to the I Want To menu in Manager, a new Item element is added to the IWantToMenu element in the Viewer.xml file . To see an example of what the newly created markup would look like, refer to I Want To Menu Module on page 89 in the "Configure Modules" section of this guide—the "Configure Modules" section shows sample markup for every configurable module. Viewer.xml files are upgraded automatically, provided you follow the instructions given in Upgrade on page 10. After upgrading, the Viewer.xml file contains whatever is new in the Silverlight Viewer, plus all your custom configuration—your configuration is preserved. When you add a Silverlight Viewer to a site in Manager, the Viewer.xml is created in the Config sub folder of the Viewer's virtual directory. For example, if you add a Viewer called "sv" to the "MySite" site, then the Viewer's configuration file is in Sites\MySite\Viewers\sv\VirtualDirectory\Config . | 20 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide Location of the Viewer.xml file for the "sv" Viewer in the "MySite" site As an advanced option, you can locate the Viewer application and the Viewer.xml file on different servers or domain names, as long as the Viewer application running in the user's browser has HTTP access to the configuration file. If you put the Viewer.xml file on a different web host name than the Viewer, you need to create a clientaccesspolicy.xml on the server with the Viewer.xml files, to allow cross-domain access. The Silverlight Viewer ships with a client access policy that you can adapt to your security needs. You can rename the Viewer.xml file if you want. If you rename it, make sure you use the new name in launch URLs and in the Viewer.Settings.xml file. The Viewer.xml files that are deployed to IIS are for the sample Viewers that ship with the Silverlight Viewer. 7.2.2 About the Viewer.Defaults.xml File By default, most of the configuration settings for Silverlight Viewers are in the Viewer.Defaults.xml file, which is part of the Viewer template. Every Silverlight Viewer that uses a particular template shares the default settings specified in the template's Viewer.Defaults.xml file. To override a default setting for a particular Viewer, you change the Viewer's configuration. This is usually done in Manager, which writes your modifications to the Viewer's Viewer.xml file. When the Viewer runs in a browser, settings from both the Viewer.xml and Viewer.Defaults.xml files contribute to the application's appearance and behavior. If a setting is configured in both files, the value in the Viewer.xml file overrides the value in the Viewer.Defaults.xml file. 21 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 7.3 Startup Files and the Startup Sequence If you do not want your Viewer to use the defaults defined in Viewer.Defaults.xml , you can add the attribute InheritFromDefault="false" to the Configuration element in the Viewer's Viewer.xml file, like this: . Alternatively, you can comment out the ExternalConfig element in the Viewer.xml . As an advanced option, you can modify the Viewer.Defaults.xml file, however, any changes you make will be lost the next time you upgrade the Viewer template. To carry your changes forward after upgrading, you have to manually copy over the changes you made from the old version of the file to the new version. Refer to the Knowledge Base on the Geocortex Support Center (support.geocortex.com) for instructions on locating and changing the file. The Viewer.Defaults.xml file that is deployed to IIS when you deploy the Viewer template is for the sample Viewers that ship with the Silverlight Viewer. Changing this file will have no effect on your Viewers. Silverlight Viewers that you add to your sites use the Viewer.Defaults.xml file that is in the Viewer template file specified in the ExternalConfig element in the Viewer.xml file. 7.3 Startup Files and the Startup Sequence The Silverlight Viewer has two main startup files: l Viewer.html: Launches the Geocortex Viewer for Silverlight in a browser. l Viewer.Settings.xml: Controls how the Geocortex Viewer for Silverlight loads Viewers, and the locations they load from. 7.3.1 Viewer.html Viewer.html is the file that end users run to launch the Silverlight Viewer. You can provide users with a hyperlink to the Viewer.html file, or you can distribute the URL to Viewer.html . 7.3.2 Viewer.Settings.xml The Viewer.Settings.xml file controls the loading of Viewers. Viewer.Settings.xml provides a quick and easy way to launch Viewers by shortening the URL. However, since this file is not managed by REST Manager, it will be replaced when you upgrade to a newer version of the Viewer. If you modify the Viewer.Settings.xml file, and then you upgrade the Viewer, your changes will be lost—you will have to manually copy your changes to the new version of the file after you have upgraded. The Viewer.Settings.xml file is optional. If your launch URLs use the ViewerConfig URL parameter, which specifies the location of the configuration file, you do not need the Viewer.Settings.xml file. The Viewer.Settings.xml file is located in the IIS virtual directory where you deployed the Silverlight Viewer. In the default deployment, this is C:\inetpub\wwwroot\SilverlightViewer _1_9. The default Viewer.Settings.xml file that ships with the Silverlight Viewer does the following: l Launch Page: Specifies a Launch Page. See also... Editing Module on page 74 9.4 Advanced Map Controls Module This module is internal to the Geocortex Viewer for Silverlight and contains no user configurable settings. 9.5 Authentication Dialog Module The AuthenticationDialog module implements the dialog that displays when the Geocortex Viewer for Silverlight opens a secured site. This module is internal to the Geocortex Viewer for Silverlight and contains no user configurable settings. 9.6 Banner Module The Banner Module manages the area at the top of the Viewer application that contains your Viewer’s title. There are a few configurable settings for the Banner Module. 69 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 9.7 Base Map Control Module Parameters l ApplicationTitle: The title displayed in the banner. l TitleColor: The color of the title as displayed in the banner. The default color is White. l BrowserTitle: The title to display in the browser’s titlebar. l ImageUri: The URI to the banner’s background image. l LeftImage: Defines the image displayed on the left of the banner. Consists of a URI to the image and image opacity. l RepeatX: True if the background image is repeated horizontally. The default value is false . l RepeatY: True if the background image is repeated vertically. The default value is false . l RightImage: Defines the image displayed on the right of the banner. Consists of a URI to the image and an image opacity. l ShowHelpLink: True if the banner should contain a link to the help system. The default value is true . Example Configuration 9.7 Base Map Control Module The module sets the position and visibility of the of the Map Themes and Base Maps areas in the base map control. Base map control | 70 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide In the Viewer.Defaults.xml file, the Base Map Control module includes these globals: l :Defines whether or not to display the Base Maps area of the base map control. l : Defines whether or not to display the Map Themes area in the base map control. Parameters l Region: Defines the position in the Viewer where the base map control should display. l Visible: Specifies whether or not to display the base map control in the Viewer. l ShowLayerThemes: Specifies whether or not to display layer themes in the base map control. Example Configuration See also... Configure Layer Themes on page 147 9.8 Base Map Cache Module This module is internal to the Geocortex Viewer for Silverlight and contains no user configurable settings. 9.9 Bookmark Module The Bookmark module implements the bookmark feature for the Geocortex Viewer for Silverlight. The Bookmark feature allows end-users to navigate to preconfigured locations on their maps. They can also define their own bookmarks. This module is internal to the Geocortex Viewer for Silverlight and contains no user configurable settings. 9.10 Callouts Module A callout is a bubble containing one or more lines of text that you can place anywhere on the map. The tail of the bubble is anchored at a map location and as a result, callouts move with the map as the map is panned and zoomed. Parameters None 71 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 9.11 Coordinate Tool Module Example Configuration 9.11 Coordinate Tool Module The Coordinate tool makes it possible to place coordinate callouts anywhere on the map. You can interactively specify the location of a callout using your mouse or by entering an x-y location into the Add Custom Coordinate dialog box. Once the callout is placed, you can change the coordinate system of the callout by selecting a new system from a drop-down list below the coordinates box. For example, you can place a callout using the State Plane coordinate system and then display that same callout as Lat-Long coordinates. Parameters l GeometryServiceUri: The Uri to the ArcGIS Server geometry service, used to perform the map projections for the Coordinate tool. l CoordinateSystem: One of many coordinate systems that you can reference when placing callouts. l DisplayName: The name of the coordinate system as shown in the Coordinate Tools UI. l WKID: The Well Known ID of the Coordinate system. l NumDigits: The precision of the coordinates when they are displayed. For example, NumDigits = 4 digits after the decimal place. l DisplayasDMS: If true , coordinates are displayed as latitude/longitude pairs in DMS (degrees, minutes and seconds) notation. If false , coordinates are displayed as decimal degrees. l DisplayAsLatLon: If true , coordinates are displayed as latitude/longitude pairs in decimal degrees. Used with Geographic coordinate systems. l DisplayAsDDM: If true , coordinates are displayed as latitude/longitude pairs in degrees, decimal minutes notation. l MouseCoordDigits: Defines the number of decimal places to include for the mouse coordinates control. The default is set to"3". If MouseCoordReprojectionEnabled is set to true , the MouseCoordDigits parameter only sets the number of decimal places for the map’s native coordinate system; the number of decimal places for other configured coordinate systems is then determined by the NumDigits parameter. l MouseCoordReprojectionEnabled: If set to true , the user can reproject the mouse cursor coordinates, when set to false , the user cannot reproject the mouse cursor coordinates. The default is set to true . At least one extra configured coordinate system must exist. If a coordinate system is not configured, the native coordinate system is used. | 72 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide Example Configuration 9.12 DatumTransform Module The DatumTransform Module provides a mechanism to specify datum transform parameters to use when projecting between different spatial references. This feature is only available if you are using ArcGIS Server 10.1 geometry services. Parameters The DatumTransform Module accepts zero-or-more DataTransform elements with the following parameters: l WKID: The well-known ID of the datum transform to use. l WKT: The well-known text of the datum transform to use. This is ignored if WKID is also specified. l FromWKID: The well-known ID of the spatial reference that you are projecting from. l FromWKT: The well-known text of the spatial reference that you are projecting from. This is ignored if FromWKID is also specified. l ToWKID: The well-known ID of the spatial reference that you are projecting to. 73 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 9.13 Editing Module l ToWKT: The well-known text of the spatial reference that you are projecting to. This is ignored if ToWKID is also specified. Example Configuration 9.13 Editing Module The Editing Module makes it possible to edit data layers on a map, if the data has been exposed for editing. Before you can set up Editing, you must have: l Your data in ArcSDE. l Your data exposed in a feature service (Feature Server) in ArcGIS Server. ArcGIS Server 10 or above, is required for editing. Steps for using the Editing module: 1. In Essentials Manager, add feature layers to your site. Instructions for adding feature layers can be found in the Geocortex Essentials Administrator Guide in the Feature Layers section. It is important to add Output fields to your feature layer service. Output fields define which fields you can edit. If no output fields are defined, you will not be able to edit attributes on that layer and will get the error message, "There are no attributes to edit on this layer." You can use "*" to include all output fields. 2. Add the Editing module to Viewer.xml of the site. This is different from all other modules as it is not in Viewer.Defaults.xml. 3. Add a region to Viewer.xml. For example, the Toolbar supports adding a Region through configuration: ... | 74 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide Parameters l GeometryServiceUri: The Uri of an ArcGIS Server geometry service. Example Configuration Add the following code to the Viewer.xml: In the element, add: In the element add: ... This configuration is only an example implementation and may not be appropriate for all instances. 9.14 Export Map Module The Export Map module makes it possible for users to export a map image. From version 1.9 of the Geocortex Viewer for Silverlight, it also allows users the option of including georeference data with the map image so that the image can be accurately positioned in a different GIS application. You can add or remove the Include Georeference Data option in Geocortex Essentials, in the Tool Behavior settings. Parameters l AllowIncludingGeoreferenceData : Set whether or not the option to include georeference data is visible or not. If set to true , users see the field with the option to include the georeference data when exporting the map. If set to false , the option is hidden. The default is set to true . Example Code 75 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 9.15 Extract Module 9.15 Extract Module The Extract module makes it possible to extract markup added to the map as a zipped set of shape, database and projection files that you can then import into other GIS applications. The feature allows you to extract any graphics layer but it is likely to be used mainly to extract markup. Point, polyline and polygon data is extracted but text markup is not included. Attributes are not supported currently. The contents of the zip file showing points, polygons and polylines The zip file can be opened in ArcCatalog or other GIS applications. Example Configuration 9.16 Feature Actions Module The Feature Actions Module exists to support feature actions and feature set actions. The module must be present but has no configurable settings for the module. | 76 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide 9.17 Geocoding Module A geocode service allows for encoding/decoding of geographic information such as addresses and coordinates. It provides the ability to resolve a point on a map based on a given address (forward geocoding) or an address from a given point (reverse geocoding).The Geocoding Module makes it possible to use the following geocoding services within the Geocortex Viewer for Silverlight: l ArcGIS Geocoder l Bing Geocoder You can add both the ArcGIS and Bing Geocoder to a single viewer. If you add both geocoders, you will have two results displayed when you do searches, as each geocoder returns different results. Parameters differ depending on the geocoder you use. Some parameters exist in both the Bing and ArcGIS geocoders. In addition there are unique parameters that are unique to the Bing or ArcGIS geocoders. From version 1.8 of the Geocortex Viewer for Silverlight, reverse geocoding is also supported. Both geocoders support reverse geocoding. Geocoding Parameters l ID: The id is used by Search Manager to uniquely identify each geocoding endpoint. l DisplayName: The display name is used Global Search bar to display options for selecting which search provider you would like to use. l IncludeGlobalSearch: A description of the type of geocoding service. Currently we support three different types for this attribute: BingGeocoder , ArcGisGeocoder , ArcGISBatchGeocoder . l ConnectionString: The URL to the geocoding endpoint. The Bing geocoder does not require this parameter. The ArcGis geocoder does require this parameter. The following table indicates parameters for forward and reverse geocoding. The table indicates which parameters are used by both geocoders, each separate geocoder, and whether a parameter is required or not. Geocoder Required? Parameter Description Both Yes URL The URL to the geocoding endpoint.The ArcGis Geocoder needs the URL in both the GeocodingEndpoint and the Parameters elements to function. Both Yes globalSearchKey The field in the search results that should be used as the key. In the Example Configuration below, we have specified address. Address indicates that the geocoder should return addresses when using both forward or reverse geocoders respectively. ArcGIS No state In the Example Configuration, ESRI_Geocode_USA, is used. This parameter tells the geocoder that we would like to narrow the search to this state. ArcGIS No city The city parameter tells the geocoder that it can narrow its search down to the city given by this parameter 77 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 9.17 Geocoding Module Geocoder Required? Parameter Description Bing No countryRegion This parameter tells Bing to narrow its search to the country provided. Bing No adminDistrict This parameter allows searches to be further narrowed down by in this case state, but I presume it could be province if our countryRegion was Canada. Bing No locality This parameter allows searches to be further narrowed down by a city or town. Bing Yes key This parameter is necessary for geocoding with the Bing geocoding service. It is an API key that the end user (i.e. our clients) must get for their own site. If they would like to use Bing's geocode service, they have to request a key and provide the top level domain that the key should be registered with. See Getting a Bing Maps Key Example Configuration The example configuration below does not contain a GeocodingEndpoint. | 78 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide The GeocodingEndpoint parameters are specific to the type of geocode service configured. To find parameters relevant for a Bing Geocode Service, see Bing Maps REST Services API Reference. 9.17.1 Reverse Geocoding Reverse geocoding is possible as long as a valid ArcGIS or BingMaps geocoding endpoint has been setup. Reverse coding allows users to enter co-ordinates in any projection into the Global Search bar and have any addresses at those co-ordinates returned to them in the Results List. When text is entered into the Global Search box, the geocoding search provider inspects the text string to deduce whether it contains coordinates. If the geocoder ascertains that coordinates are present in the search string, it checks to see if they resemble a longitude/latitude pair, for example, the string contains decimals, degrees, minutes, or seconds. The order of the coordinates does not matter as long as the user has the W/E and N/S. If no direction is specified, the coordinates are assumed to be longitude and latitude respectively. If the coordinates are not found to be in a suitable longitude/latitude format, then the geocoding search provider assumes that the coordinates are in the projection used by the base map. If the user includes a wkid=number in the text string, then the geocoder tries to use the projection indicated by the wkid, for example, WKID=10200 indicates Mercator. The correct format is coord_x coord_y wkid=#### . 79 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 9.17.1 Reverse Geocoding The following diagram indicates the flow of logic used: For more information see: 9.17.1.1 l Using spatial References l Projected Coordinate Systems l Geographic Coordinate Systems Address by LocationTool The Address By Location tool can be added to the Tasks tab of the toolbar. This tool makes it possible to find the address at any location on the map that is clicked. You can add the tool to any tab of the toolbar. You can also add a new region on the tab if you wish to and then add the tool to the region. It is important to set up the geocoding module and the geocoding endpoint before adding this tool. To add the Address by Location tool to the toolbar: 1. Launch Geocortex Essentials. 2. Click the Edit Site button beside the site whose viewer you want to change. The Site Information page opens. | 80 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide 3. In the side panel, click Viewers. The Viewers page opens. beside the viewer whose toolbar you want to change. 4. Click the Edit button The Viewer Info page opens. 5. In the side panel, click Toolbar. 6. In the Configured Toolbar panel, scroll down to Tasks. 7. In the Available Tools panel, scroll down to Tasks where the Address By Location tool is located. 8. Drag the Address by Location tool into position on the Tasks tab of the toolbar. You can add the tool anywhere on any tab of the toolbar. You can also a new region on the tab if you wish to and then add the tool to the region. The ReverseGeocodePoint command can be inserted into any toolbar group, for example, other identify tools, but in this example, it is inserted into the Tasks section. 9.17.2 Batch Geocoding You can also import large numbers of addresses in the CSV or XLS/XLSX file formats and add them to the map as a graphics layer. You cannot import Excel files that are password protected. As part of the import process, you can re-order the columns in the file to ensure that once imported, the information is in the order you want to display it. During the import process, the XY co-ordinates of each address are plotted on the map. Once imported, all the normal tools like search and identify, work on the imported information. Currently, there is only one batch geocoder supported - the ArcGIS Batch Geocoder. Only one Batch Geocoder can be used per viewer. 81 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 9.17.2 Batch Geocoding ArcGIS Server 10.1 or higher is required for Batch Geocoding. The maximum number of records to import can be configured. Parameters l BatchSize: The BatchSize parameter sets the maximum number of records to allow in an import file. If the number of records in the import file exceeds the configured amount, the import fails. The default number of records is 1000. The batch size cannot exceed the SuggestedBatchSize defined in the geocode service. The suggested batch size for the ArcGIS Geocode Server is 1000. l DisplayName: The name of the batch geocoder, for example, "ArcGIS Batch Geocoder" . l SupportsBatchGeocoding: If set to true , this parameter enables batch geocoding. l ColumnPrefix: This parameter allows you to use the Column prefix in place of the column headings when the Use First Row as Header option is unchecked. In this case, the headings are replaced by the word "Column and the number of the column, for example, Column1, Column2. l ConnectionString:The URL to the batch geocoding service, for example, "url=http://serverapps101.esri.com/arcgis/rest/services/USA_Geocode/GeocodeServer" Example Configuration The following code must be inserted into the Viewer.xml of the site. This code is inserted as a Module within the tags. | 82 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide 9.18 GeoRSS Module The GeoRSS module implements the ability to add GeoRSS data sources to a web mapping application. The GeoRSS module provides a single command: GeoRSSListFeatures, which displays a list of GeoRSS features to select and add in the Viewer’s Results List. There are no user-configurable settings for this module. 9.19 Global Search Module The GlobalSearch module implements the global search box found in the top right-hand corner of the Geocortex Viewer for Silverlight. The Global Search module is internal to the Geocortex Viewer for Silverlight and contains no user-configurable settings. 9.20 Graphics Layer Search Module The GraphicsLayerSearch module makes it possible to search map layers such as ESRI Shape Files or commadelimited files that are imported from within the Geocortex Viewer for Silverlight global search infrastructure. This module contains two configurable parameters: IncludeInGlobalSearch and ExactMatch Parameters l IncludeInGlobalSearch: If set to true , when a user performs a global search, the search includes a search of graphics layers. The default is true . l ExactMatch: If set to true , the GraphicsLayerSearch returns results only for attributes that match exactly. If set to false, partial matches are returned in the search. The default is true . Example Configuration 9.21 Help Module The Help module implements the end-user help system in the Geocortex Viewer for Silverlight. The Help module makes it possible for a user to open the help by clicking the Help icon located top-right, or contextually by pressing the F1 key when on a viewer feature. 83 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 9.21 Help Module Parameters l UseF1Key: If set to true, the help system opens whenever a user presses the F1 key. The default is true . l Topics: The list of help topics configured for the help system. Each topic found in this section contains a URI to the HTML page containing a specific help topic. {Insert__Help-Topics} 9.22 Identify Module Identify manages the interactive identification process. Users can identify items on the map using points, rectangles, polygons, or polylines. Users can also use this tool to perform buffered identify operations. By default, buffered identify operations are done in the spatial reference of the Universal Transverse Mercator (UTM) zone that the buffer geometry center falls into. This generally yields accurate results. However, if you need to create very large buffers, you should configure a specific coordinate system. You can configure the Identify module to use a specific coordinate system instead of UTM. You do this by setting properties on the BufferingOptions element in the module configuration. You can specify a WKID or WKT value for the buffering to be performed in. If you use a WKT, the IsGeographic parameter should be set to indicate if the coordinate system is geographic or not. We do not recommend that you buffer polylines or polygons using a geographic coordinate system as Esri does not fully support doing so. When you specify a WKT for buffering to use, you should place the WKT in the BufferingProjectionWkt global as the body of the XML element, as the text will contain quotes. For example: Parameters l PixelTolerance: A positive integer that sets the number of pixels away from a feature that the mouse cursor can be in order for a feature to be included within an identify operation. The default is 2 pixels. l VisibleLayersOnly: When true, features from layers currently turned on are displayed. The default is true. l VisibleAtCurrentScale: When true, features for layers visible at the current scale dependency are considered. The default is true. l WKID: The well-known ID of a coordinate system to perform buffering in (overrides the WKT, if a WKT is also specified). l WKT: The well-known text of a coordinate system to perform buffering in (overridden by the WKID, if a WKID is also specified). l IsGeographic: If WKT is specified, isGeographic should be set to reflect whether or not the specified WKT represents a geographic coordinate system. Example Configuration The module configuration: 85 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 9.23 Info Module 9.23 Info Module Introduced in version 1.9, the Info Module implements the Home panel in the Geocortex Viewer for Silverlight. The Home panel can be configured to be the first thing users see when the Viewer opens. The Info Module provides the ability to add images, text, and UI elements to the panel, including buttons or links to launch a web page, invoke a command, or run a workflow. Home panel showing sample content The ability to add links and workflows means that the panel can act as a quick entry point for users to try out features and tools, or to find help. The icon and title of the panel are also configurable. Because the module can be used in other contexts or for other purposes, it is called the Info module in the code. The Home panel is visible by default but can be hidden by changing the settings in Essentials Manager or in the configuration file. | 86 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide The Developer QuickStart contains a comprehensive sample configuration of the Home panel with the code required to implement it. Parameters l HomePanelIsVisible : Defines whether or not the Home panel is visible. The default is false . l HomePanelCanClose : Defines whether or not the user can close the Home panel. The default is true . l HomePanelIconUri : The URI to the image you want to use for an icon in the Home panel. l HomePanelTitle : The title that displays at the top of the Home panel. Example Configuration - Viewer.Defaults.xml The code below, implements the Home panel in the Viewer.Defaults.xml file. {HomePanelContent} Example Configuration - Viewer.xml Once you configure the Home panel in Geocortex Essentials, the code that configures the Home panel is added within the element of the Viewer.xml for that particular viewer. The code below is a sample of typical content that may be added to the Home panel. Notice that the content of the Home panel is contained within a CDATA section, which begins with ends with and . ....

Welcome to the Tools & Features Demo 87 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 9.23 Info Module Site


The Geocortex Viewer for Silverlight is a configurable viewer framework. For evalu ation purposes, this app showcases all available tools and features.


Among other things, you can:


1. Search for information

Find features and other results (e.g. search “ville”).


2. Explore the advanced toolbar

The toolbar is an optional element that provides numerous capabilities for m ore specialized, web-GIS style applications.


3. Perform specific tasks

This Home panel and the “I want to…” menu are great for directing users to s tep-by-step functionality to get things done quickly. For example:


    Crea te a mailing label report

    Print a map


]]>
| 88 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide See also... Configure the Home panel on page 32 9.24 Instant Search Module This module is internal to the Geocortex Viewer for Silverlight and contains no user configurable settings. 9.25 I Want To Menu Module The I Want To Menu Module defines the menu items that display in the I Want To Menu visible under the I Want To button of the main map area. The I Want To menu is a list of frequently-used tasks. Parameters l Title: The title of the I Want To menu that displays on the banner. l Text: The text to appear on the I Want To menu item. l Command: The named command to execute when the menu item is selected. l CommandParameter: The parameter value that is passed along to the command when it is executed. l ImageUri: The image to display next to the menu item. l Description: A few sentences describing the feature in a little more detail. The description is visible in Manager only—it does not appear in the viewer's user interface. Example Configuration {Insert__Menus-IWantTo-Items} 9.26 JavaScript Module The Layer Catalog module integrates the named commands of the Geocortex Viewer for Silverlight with JavaScript. Parameters l StartupFunction: The name of the JavaScript function to execute when the Viewer loads. Example Configuration 9.27 Layer Catalog Module The Layer Catalog module is internal to the Geocortex Viewer for Silverlight. | 90 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide Parameters l HideApplyButton: Determines whether or not an Apply button is shown in the Layer Catalog dialog. The Apply button transfers selected layers from the catalog to the Layer List. Unselected layers are removed from the Layer List. l HideOKButton: Determines whether an OK button will show or not on Layer Catalog dialog. OK button functions exactly like Apply button plus it closes the dialog. l HideCancelButton: Determines whether a Cancel button will show or not on Layer Catalog dialog. Cancel button when clicked closes the dialog and layer list remains unchanged. l MinFilterLength: Determines the minimum number of characters that are required for filtering. For example if this parameter is set to 3, user will not be able to filter the catalog layers by typing “ai” because the length of “ai” is only 2. Example Configuration 9.28 Layer Drawing Order Module The Layer Drawing Order module is internal to the Geocortex Viewer for Silverlight and contains no user configurable settings. 9.29 Layer List Module The Layer List Module is the panel displayed along the left side of the Viewer with the title of Map Layers. It contains the directory of map services, layers, base maps, and graphics layers currently in the Viewer. You are able to turn map layers on and off and manipulate the transparency of base map layers from the Map Layer. You can set parameters that give you control over how the Layer List behaves, including which layers or layer groups are automatically selected when you click a layer, whether the Legend icons or swatches are integrated into the Layer List, or whether layers are expanded or hidden when the Layer List opens. Layer themes allow you to define complex sets of layers in Geocortex Essentials and then quickly flip between very different layer sets in the Viewer. Parameters l LayerThemes: The Visible setting allows you to specify whether or not the layer themes selector is shown on the Layer List, in cases where the site has layer themes. Valid values are true or false . The default setting is true , which means that the layer theme selector is shown on the Layer List if the site has Layer Themes. 91 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 9.29 Layer List Module l Filter: Defines the location of the Layer List filter. If the filter element is not specified then the layerlist filter is not displayed. Filter contains a single attribute: Location which may be one of Top or Bottom . l LayerList: You can configure the following parameters in the Layer List: l ExpandFolders, ExpandMapServices, and ExpandGroupLayers are parameters that can all be set to true or false . If true , the folders, map services, or group layers are expanded in the Layer List at startup. If false , they are hidden. The default value is false . The ExpandGroupLayers and ExpandMapServices parameters do not have any effect if you are using Essentials 3.7 or higher. Instead there are properties available for each individual group layer and map service in the site. l IncludeLegendSwatches : Can be set to true or false . When true , legend swatches are included in the Layer List as children of layers. The default value is false . Legend icons shown below each Layer in the Viewer l AutoExpandSwatches : Can be set to true or false . When true , the legend swatches in the Layer List are automatically expanded or collapsed based on the state of the parent layer. The default value is false . l FilterLegendSwatchesInLayerList : Works with AutoExpandSwatches and can be set to true or false . When true , the legend swatches are filtered according to the Legend rules that you have set under VisibleLayersOnly , VisibleAtCurrentScaleOnly , and VisibleWithinCurrentExtentOnly (See below under Legend). When true , any options that are set in the Layers List are applied to the Legend swatches too. The default value is false . l DisableAutoExpandSwatchThreshold : Sets the number of Legend swatches that are expanded automatically. When a number is specified, the layer expands automatically only if the number of swatches are less than or equal to this number. To disable this behavior, set a value of zero (0). l ShowTransparencySlider : Can be set to true or false . When true , a slider control is included in the Layer List next to each entry that supports transparency control. The default value is true . | 92 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide l l ToggleParentOnCheck : Controls the selection behavior of child layers in relation to the parent layer. Can be set to true or false . When true , the parent layer is automatically selected when you click a child layer. The default value is false . l ToggleChildrenOnCheck : Controls the selection behavior of the child layers in relation to its parent layer. Can be set to true or false . When true , all child layers are selected when you click the parent layer. The default value is false . l ToggleChildrenOnUncheck : Controls the uncheck behaviour of parent/children layers. Can be set to true or false . When true , all child layers are unchecked if you uncheck their parent layer. The default value is false . l ToggleRecursively : Works with the other three Toggle parameters. Can be set to true or false . When true, the ToggleParentOnCheck , ToggleChildrenOnCheck , and ToggleChildrenOnUncheck options apply to the whole layer list. The default value is false . Legend: You can configure the following items on the legend component of the layerlist : l VisibleLayersOnly : Shows the legend items for only the visible layers on the map. Can be set to true or false. l VisibleAtCurrentScaleOnly : Shows the legend items for only the current scale of the map.Can be set to true or false. l VisibleWithinCurrentExtentOnly : Shows the legend for only the current extent. Can be set to true or false . l LegendSwatchSize : Controls the size of the legend icons by pixel. Is set as a single number (integer). The default is 20 pixels. l LayerTypeIcons: Defines the default icons to show for a particular layer type in the Layer Action window. LayerType may be one of Group, Line, Polygon, Point, Graphics, or None. You can set the ImageUri as a URI to an image file that you want to use. Example Configuration | 94 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide See also... About Layer Themes on page 143 Base Map Control Module on page 70 9.30 Layer Search Module The Layer Search module provides the ability to search layers published by ArcGIS Server. The Layer Search module respects search settings configured for layers in the Geocortex Essentials. The Layer Search module is internal to the Geocortex Viewer for Silverlight and contains no user configurable settings. 9.31 Map Module The Map Module has several parameters that control the behavior and appearance of the map. Parameters l GeometryServiceUri: Defines the URI referencing a valid geometry service that is used for coordinate reprojections. l SnapToLevels: When true, zooming will snap to scale levels if the map contains cached layers. When false, you can zoom to scales, which are in between cached scale levels. The default is "false" . l PanDuration: Specifies the speed of the pan animation. Smaller values are faster and larger values are slower. We recommend that you do not set this value to more than 2. A value of 0 disables the animation completely. l ZoomDuration: Specifies the speed of the zoom animation. Smaller values are faster and larger values are slower. We recommend that you do not set this value to more than 2. A value of 0 disables the animation completely. 95 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 9.31 Map Module DefaultPointFeatureZoomScales: Specifies the default map scale rendered when you zoom in to a l particular point feature. MinimumResolution: The minimum resolution (map units per pixel) you can zoom in to. By default, the map l scale is either unconstrained for dynamic services, or constrained to scales between the smallest and largest cache level if your map contains a cached service. By setting this property, you can either impose a scale constraint for dynamic services, or allow the map to zoom beyond the scale levels of a cached service. This setting affects how far you can zoom in. You can leave this attribute out entirely and then the default behavior of the map control applies. MaximumResolution: The maximum resolution (map units per pixel) you can zoom out to. By default, the l map scale is either unconstrained for dynamic services, or constrained to scales between the smallest and largest cache level if your map contains a cached service. By setting this property, you can either impose a scale constraint for dynamic services, or allow the map to zoom beyond the scale levels of a cached service. This setting affects how far you can zoom out. You can leave this attribute out entirely and then the default behavior of the map control applies. Example Configuration | 96 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide 9.32 Map Tips Module Map Tips are the pop-ups that appear when you hover over a feature on the map. For performance reasons, Map Tips are disabled by default, but are easy to enable. From version 1.6, it is possible to control the default opening appearance of the Feature Details map tips. The default appearance of the feature details map tips is set in the section of the Viewer.Defaults.xml file using the parameter. Possible values for the parameter are Attributes , DataLinks , Description , or Hyperlinks . The default value is Description . The Map Tips Module also has parameters that are set in the Map Tips Module of the Viewer.Defaults.xml. In order for map tips to appear in your Silverlight viewers, they must be configured in Essentials. Refer to the Geocortex Essentials Administrator Guide or Manager's help system for information. Parameters l DisplayOnClick: Map tips are activated when the user clicks on the map as opposed to when they hover over the map. The default is false . l Enabled: If set to true , map tips are displayed when the mouse hovers over a feature. The default is false . l IgnorePixelToleranceForPolygons: If set to true a PixelTolerance value of 0 is used when identifying on polygon features. The default is false . l PixelTolerance: A positive integer that defines the number of pixels away from a feature that the mouse cursor can be in before the map tip is displayed for that feature. The default is 2 pixels. l RestoreOpenMapTips: A value that indicates whether map tips should be restored after tool usage and extent changes. The default is false . l VisibleLayersOnly: If set to true , map tips for layers currently turned on are displayed. The default is true . l VisibleAtCurrentScale: If set to true , map tips for layers that are visible at the current scale are displayed. The default is true . Example Configuration 97 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 9.33 Markup Module 9.33 Markup Module The Markup Module provides tools that allow an end user to add markup shapes or text to a map. From version 1.7 of the Geocortex Viewer for Silverlight, the Text Tool includes the ability to add feature information found at a point clicked on the map. The feature information can then be added to labels and displayed on the map. Parameters The Markup Module contains a the following parameters: l MarkupLayer Name: The name of the markup layer. l MarkupTextPixelTolerance: A positive integer that sets the number of pixels away from a feature that the mouse cursor can be in order for the feature to be included for selection in the Advanced Label Options dialog. The default is 2 pixels. l MarkupTextVisibleLayersOnly: When true, features from layers currently turned on are displayed for selection when the Advanced Label Options are activated. The default is true. l MarkupTextVisibleAtCurrentScale: When true, features for layers visible at the current scale are displayed for selection when the Advanced Label Options are activated. The default is true. | 98 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide Example Configuration 9.34 Measurement Module The Measurement Module adds the ability to measure distances and areas on the map. The Module also contains a coordinate system within which to perform all measurements. The Module can project to and from geographic and linear coordinate systems, allowing length and area measurements to be made with a high level of accuracy. Parameters l GeometryServiceUri: A URI referencing an ArcGIS Geometry Service endpoint to use for projection and measurement. l PredictionEnabled: When set to true the measurement tools preview the length of line segments before vertices are added. When set to true, if you hover your mouse while drawing measurement markup, it shows the current segment length. l WKID: The Well-Known ID (WKID) of a map projection suitable for measuring distances and/or areas. If not specified, measurements are done in the coordinate system of the map. If specified, all measurements are projected into this system. If you set this value, you must also set ProjectionUnits . l ProjectionUnits: If a projection WKID is set, you must define this setting to reflect the native unit of the desired coordinate system. For example, if Wkid is set to 2264 , then ProjectionUnits must be set to feet , the unit type that the 2264 projection uses. Valid values include: degree , degrees , decimaldegree , decimaldegrees , foot , feet , kilometer , kilometers , meter , meters , miles , mile , nauticalmile , nauticalmiles , yard , yards . l OverrideUnits: This parameter overrides the reference unit used by the Measurement Module if a map misreports its units. See possible units above. For example, if a map misreports its units as meters but its coordinates are actually in feet, the OverrideUnits corrects the value by overriding the incorrect value. l DefaultAreaUnit: This parameter determines the measurement unit for area that is used by default. Valid values are squareFeet, squareYards, squareMeters, squareKilometers, squareMiles, squareNauticalMiles, acres, hectares . The default is squareFeet. l DefaultUnit: This parameter determines the measurement unit that is used by default. The Viewer will start up using this unit of measurement. Valid values are the same as the ones in ProjectionUnits . The default is feet 99 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 9.35 Open Csv Module Example Configuration 9.35 Open Csv Module The OpenCsv module provides the ability to open comma separated values (CSV) files and load the data into the map as graphics. The module also supports semicolon separated files. The CSV data must contain X and Y columns and values for the module to be able to process it. Parameters l GeometryServiceUri: A URI referencing an ArcGIS Geometry Service endpoint to use for projection and measurement. l MaxFileSize: The maximum allowable file size in bytes. The default is 2097152 bytes (2MB). l XColumns: A comma separated list of case insensitive candidate column names to use when attempting to identify the X-coordinate column of the CSV data. l YColumns: A comma separated list of case-insensitive candidate column names to use when attempting to identify the Y-coordinate column of the CSV data. Example Configuration 9.36 Open Shapefile Module Provides the ability to open Esri Shapefiles and load the data into the map as graphics. If a .prj file is provided, the module projects the data to the map’s spatial reference. If the file is not provided, the map’s spatial reference is assumed. | 100 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide Parameters l GeometryServiceUri: A URI referencing an ArcGIS Geometry Service endpoint to use for projection and measurement. l MaxFileSize: The maximum allowable file size in bytes. The default is 2097152 bytes (2MB). Example Configuration 9.37 Optimizer Integration Module Geocortex Optimizer is a product that collects and reports on a GIS infrastructure. The Geocortex Viewer for Silverlight allows publishers to collect information about users. The Optimizer Integration Module then collects data about: l The areas and layers users are looking at. l The user who is using the Viewer. l The tools within the Viewer they are using. This data is collected and can be used to create informative reports within the Geocortex Optimizer Reports Module. Parameters l Enabled: If true , then the Viewer sends data to Optimizer. The default value is false . l UserName: The name of the user. l DataRelayUri: The Uri to the REST endpoint hosting the Optimizer Database Module. If the endpoint is not specified, the Optimizer integration Module attempts to log back to the same host that the Viewer application is launched from. Example Configuration 9.38 Overview Map Module The overview map displays in the bottom right hand corner of the Viewer and shows the position of the current extent within a larger map. 101 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 9.39 Print Templates Module Parameters l OpenByDefault: True if the overview map is displayed by default. l ExtentScaleFactor: The factor by which the extent of the overview map is scaled in relation to the scale of the Viewer’s map. l Mode: Either Static or Dynamic . l If Static , the overview map extent remains fixed unless explicitly moved. l If Dynamic , the overview map extent is centered on the current map extent. The Region="BottomRightMapRegion" parameter positions the overview map in the bottom right corner of the map. Example Configuration 9.39 Print Templates Module The Print Templates module makes it possible to print a map using a print template. The Print Templates module is internal to the Geocortex Viewer for Silverlight and contains no user configurable settings. 9.40 Progress Indicator Module The Progress Indicator module provides the progress bar displayed by the viewer each time a lengthy viewer operation occurs. This module is internal to the Geocortex Viewer for Silverlight and contains no user configurable settings. 9.41 Query Builder Module The QueryBuilder Module provides a way for an end user to use advanced queries to search for the features of a layer. The Query Builder supports both a simple and an advanced user interface. | 102 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide From Geocortex Essentials version 3.11 onwards there is a property on the Details tab of a layer that makes it possible to exclude or include the layer when running queries. The QueryBuilder Module can perform queries on ArcGIS Server 10.0 layers and OGC layers if you also have the Advanced OGC Extension for Geocortex Essentials. The Filter Builder is a slightly different version of the Query Builder that applies the query statement as a filter on a layer. Rather than performing a query on a layer and returning results, the results are reflected by redrawing the filtered data on the map itself. The Filter Builder is the same as applying a definition expression in ArcMap. The Query Builder module automatically assembles SQL where clauses are based on user input. The syntax of a where clause statement depends on the query operator and the data type of the field to be queried. There are also subtle syntax differences depending on the underlying geodatabase that contains the data. This module supports administrator configuration of all the format strings used to assemble queries. For each format string: o{0} is substituted at runtime for the field name of the selected layer. o{1} is substituted at runtime for the text value supplied by the user. Parameters The following parameters are optional and should only be configured if you wish to override the default format strings. l AutoCompleteNumericQueryFormat: The format string that an autocomplete input should use when assembling a lookup query for a numeric field. Exception: {{0}} is substituted at runtime for the text value supplied by the user. l AutoCompleteTextQueryFormat: The format string that an autocomplete input should use when assembling a lookup query for a text field. Exception: {{0}} is substituted at runtime for the text value supplied by the user. l AutoCompleteTextNoCaseQueryFormat: The format string that an autocomplete input should use when assembling a lookup query for a text field of a datasource that does not support case functions. Exception: {{0}} is substituted at runtime for the text value supplied by the user. l NumericEqualsQueryFormat: The format string to use when assembling an equals query for a numeric field. l NumericNotEqualsQueryFormat: The format string to use when assembling an not equal to query for a numeric field. l NumericLessThanQueryFormat: The format string to use when assembling a less than query for a numeric field. l NumericLessThanEqualsQueryFormat: The format string to use when assembling a less than or equal to query for a numeric field. l NumericGreaterThanQueryFormat: The format string to use when assembling a greater than query for a numeric field. l NumericGreaterThanEqualsQueryFormat: The format string to use when assembling a greater than or equal to query for a numeric field. l NumericIsNullQueryFormat: The format string to use when assembling an is null query for a numeric field. l NumericIsNotNullQueryFormat: The format string to use when assembling an is not null query for a numeric field. l TextEqualsQueryFormat: The format string to use when assembling an equals query for a text field. 103 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 9.41 Query Builder Module l TextNotEqualsQueryFormat: The format string to use when assembling an not equal to query for a text field. l TextLessThanQueryFormat: The format string to use when assembling a less than query for a text field. l TextLessThanEqualsQueryFormat: The format string to use when assembling a less than or equal to query for a text field. l TextGreaterThanQueryFormat: The format string to use when assembling a greater than query for a text field. l TextContainsQueryFormat: The format string to use when assembling a contains query for a text field. l TextContainsNoCaseQueryFormat: The format string to use when assembling a contains query for a text field of a datasource that does not support case functions. l TextStartsWithQueryFormat: The format string to use when assembling a starts with query for a text field. l TextStartsWithNoCaseQueryFormat: The format string to use when assembling a starts with query for a text field of a datasource that does not support case functions. l TextEndsWithQueryFormat: The format string to use when assembling an ends with query for a text field. l TextEndsWithNoCaseQueryFormat: The format string to use when assembling an ends with query for a text field of a datasource that does not support case functions. l TextIsNullQueryFormat: The format string to use when assembling an is null query for a text field. l TextIsNotNullQueryFormat: The format string to use when assembling an is not null query for a text field. Example Configuration 9.42 Reporting Module The Reporting module makes it possible to create reports within the Geocortex Viewer for Silverlight. The Reporting module publishes two commands: RunFeatureReport and RunFeaturesReport . The Reporting module is internal to the Geocortex Viewer for Silverlight and contains no user configurable settings. 9.43 Results Module The Results module provides the interface to display search and selection results the Results List of the Geocortex Viewer for Silverlight. The Results module has two modes; a list-oriented view and a tabular view. The Results module publishes a number of events including Feature Hover, Click and Double-Click events and has a number of commands to change the orientation of the Results List. These commands and events are described in some detail in the Command Reference on page 204. 9.44 SaveOpenProject Module The SaveOpenProject Module provides a way to save a Viewer session and return to it later. For example, a user may start the Viewer, zoom and pan to a particular location, add markup to their map and then save the project. They can then send an email to a colleague and tell them about the project. That colleague can then load the project and see the markup that was added. When you save a project, it is assigned whatever category has been configured in ProjectCategory . Later, when you open a project, you will see a list of all the saved projects that contain the category, even if they are from another viewer. From version 1.7 onwards, it is possible to save a project locally on a client rather than to the server. The project is then not visible to others. Parameters l ProjectCategory: The category that is assigned to all the projects that are saved. When you open a project, you see a list of all the saved projects containing this category, from all Viewers. 105 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 9.45 Scale Bar Module l Support: Tells the Viewer what to do when the Essentials server does not support projects. When Support = "Warn", the application displays a warning message to the user. l CanSaveToServer: Defines whether or not the user can save their project to the server. The default setting is true . l CanSaveToClient: Defines whether or not the user can save their project as a file on their own computer. The default setting is true . The following table explains how these parameters work in relation to each other: CanSaveToServer CanSaveToClient Behavior Setting Setting true true When the Save and Open buttons are pressed, the project is saved to, or opened from, the server. The drop-down arrows next to each button allow the user to select whether they want to work with projects on the server or on their own computer. true false When the Save and Open buttons are pressed, the project is saved to, or opened from, the server. Users do not see options for working with project files on their own computer. This was the behavior in previous releases of the Silverlight Viewer. false true When the Save and Open buttons are pressed, the project is saved to, or opened from, the user's own computer. Users do not see options for working with project files on the server. false false The Save and Open buttons are hidden. Example Configuration 9.45 Scale Bar Module The Scale Bar module implements the scale bar control in the bottom left corner of the map. The Scale bar module is internal to the Geocortex Viewer for Silverlight and contains no user configurable settings. 9.46 Scale Dependent Base Maps The Scale Dependent Base Maps module implements the ability to set a maximum and minimum scale to display a base map. The Maximum and Minimum Scale for a base map are configured in Geocortex Essentials on the Display Settings tab of the map service. See Configure the Scale Range of Base Maps on page 64 for more information. | 106 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide The Scale-Dependent Base Maps module only supports tiled and Base Map services. Example Configuration Adding this code to your Viewer.Defaults.xml file enables the Scale-Dependent Base Maps module. This module enables the viewer to honor minimum and maximum scale ranges when they are set in Essentials. 9.47 Scale Slider Module The Scale Slider module implements the scale-slider control in the top left corner of the map. The Scale Slider module is internal to the Geocortex Viewer for Silverlight and contains no user configurable settings. 9.48 Selection Module A core concept of the Geocortex Viewer for Silverlight is that of selection. A selection is a place where features are gathered and then operated on. For example, a user searches for features, and selects those of interest into a selection. The user can then perform another search or two to find other features of interest, and then add those features to the selection. Once the user has all of the features they need, they can choose to use those selected features in a report. The Selection Module provides the functionality to manage and operate on selected features. Parameters l l Menus: The menus used by the Selection Module. The selection module currently uses these menus: l CurrentSelectionMenu l SelectionLayerMenu l HistoricalResultsRootMenu l HistoricalResultsLayerMenu Menu: Each menu consists of an ID and a set of menu items. The ID is used internally to identify the menu programmatically. l Items: Each menu item consists of Items. The menu can contain a Separator created using . l Text: The text that displays for each menu item. l Command: The named command to execute when the menu is selected. l Description: (optional) The description associated with the menu item. Depending on the menu, the description may or may not be used. l ImageUri: (optional) The uri to the icon that can be displayed on the menu next to the item text. l HideWhenDisabled: (optional) If true, the menu item is hidden when the associated command’s CanExecute property is false . 107 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 9.48 Selection Module Example Configuration | 108 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide 109 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 9.49 Shell Module 9.49 Shell Module The Shell Module manages the layout of the Viewer application. The Shell Module hosts the Regions that the Viewer’s Modules are loaded into. From version 1.6 of the Geocortex Viewer for Silverlight you can control the following elements: l Data Frame: Can be resized and a minimum, maximum, and default width specified for the frame. These parameters are configured in the Shell Module in the Viewer.Defaults.xml file (see Parameters below) and in : Drag the edge of the frame to resize Data Frame l Results View: Can be positioned by default on the left side or at the bottom of the screen and show the results in either list or table format. These settings are configured using two parameters in the section of the Viewer.Defaults.xml file: These global parameters control the appearance of the Results Frame at start up: l Results View Region: Controls the default region in which the Results List displays. Possible values are either DataRegion or ResultsRegion . If you use DataRegion the Results List is displayed on the left as it was previously. If you use ResultsRegion the Results List displays in wide view at the bottom of the window. | 110 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide l Results View Mode: Controls the default mode of display for the Results List. Possible values are List and Table . If you use List , which is the default mode, the results display in as a vertical list. If you use Table mode, the results display in a tabular grid. Parameters l ShellFlowDirection: Sets the flow of wording and information for different languages to go either LeftToRight or RightToLeft . The Default value is LeftToRight . l ToolBarOpenByDefault: If true , the advanced toolbar is visible at startup, otherwise, it is collapsed. The default value is false . l DataFramePosition: Sets the position of the data frame to the Left or Right . The default is Left . l If Right , the data frame is pinned to the right of the application l If Left , the data frame is pinned to the left of the application. This setting is independent of the FlowDirection setting. l DataFrameOpenByDefault: If true , the data frame is visible at startup, otherwise, it is collapsed. The default is false . l ResultsFrameHeight: Sets the height of the Results View. l DataFrameResizable: Sets the data frame so that you can drag it to resize it. Can be true or false . If true , the data frame can be resized. The default is true . l DataFrameMinWidth: Sets the minimum width that the data frame can be. l DataFrameMaxWidth:Set the maximum width that the data frame can be. l DataFrameDefaultWidth: Sets the default width of the panel when it opens. Example Configuration 111 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 9.50 Site Module 9.50 Site Module The Site Module hosts a Geocortex Essentials site and manages its lifecycle. Parameters SiteUri: The Uri references the Geocortex Essentials Site. Example Configuration 9.51 Symbolization Module The Symbolization Module provides tools that allow an end user to modify the symbology of dynamic layers. From version 1.8 onwards, you can apply settings in Geocortex Essentials that make it possible to: l Enable or disable symbolization of the whole map service. l Enable or disable the symbolization of individual layers. l Enable certain layers for symbolization even if the map service itself is disabled. For example, in Geocortex Essentials you can turn off DefaultAllowSymbolization on the map service and enable AllowSymbolization on a single layer. This feature is only available for ArcGIS Server 10.1 map services that have dynamic layers enabled. In addition, the Allow per request modification of layer order and symbology option must be turned on. In symbolization, there are three types of symbols: l Simple: All the features in the layer are symbolized the same way, for example, a dot. l Class Breaks: Symbolizes features based on the value of one of the feature's numeric attributes. The possible values for the attribute are broken down into ranges (class breaks), for example population ranges. l Unique Value: Symbolizes groups of features that have matching attributes, for example, zoning designations (Commercial, Residential, and so on). Geocortex Essentials provides the ability to control which map services and which layers in a map service can be symbolized, even if ArcGIS allows it. From Geocortex Essentials 3.12, this control extends to which fields are candidates for class breaks and unique value renderers. Parameters The Symbolization Module contains the following parameters: l DefaultNumberOfBreaks: Defines the default number of breaks to use for class breaks symbolization. The default is 5. | 112 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide MakeLayerVisibleOnApply: Defines whether to make a layer that has just been symbolized visible when l symbolization changes are applied. The default is true . ShowNewAttributeQuickLink: Defines whether to show a link to copy a duplicate of the current layer and l symbolize it on a new attribute. The default is false . ShowNormalizationOptions: Defines whether to show normalization options for generating class breaks l renderers. The default is false . AllowMultipleFieldsUniqueValueRenderer: Defines whether the Unique Value symbolization can be based l on multiple fields. If you set this parameter to true, the user will be able to select up to 3 attributes. The default is false . UniqueValueMaximumFeaturesInLayer: Defines the maximum number of features in the layer when using l Unique Value symbolization. The default is 10,000. PreventUniqueValueWhenMaximumFeaturesReached: Defines whether a warning or error should be l shown when UniqueValueMaximumFeaturesInLayer is reached. If this parameter is set to true , an error displays and the symbolization does not proceed. If set to false , a warning will display but the symbolization will proceed. The default is true . Note that this paramater is checked when the user clicks Create Unique Values—it is not checked when new features are added, so it is possible to add more than UniqueValueMaximumFeaturesInLayer features. Example Configuration Configuration ShowNormalizationOptions="{SymbolizationShowNormalizationOptions}" ShowNewAttributeQuickLink="{SymbolizationShowNewAttributeQuickLink}" DefaultNumberOfBreaks="{SymbolizationDefaultNumberOfBreaks}" DefaultRampFromColor="{SymbolizationDefaultRampFromColor}" DefaultRampToColor="{SymbolizationDefaultRampToColor}" MakeLayerVisibleOnApply="{SymbolizationMakeLayerVisibleOnApply}" AllowMultiFieldsUniqueValueRenderer="{SymbolizationAllowMultiFieldsUniqueValueR enderer}" UniqueValueMaximumFeaturesInLayer="{SymbolizationUniqueValueMaximumFeaturesInLa yer}" PreventUniqueValueWhenMaximumFeaturesReached="{symbolizationPreventUniqueValueW henMaximumFeaturesReached}"> 113 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 9.52 Time Slider Module 9.52 Time Slider Module The Time Slider module implements a time slider that is used in conjunction with Esri time-aware layers. Users of time-aware map services are able to see maps change over time - usually by changing the time extents of a map using a time slider. As the slider changes, so does the map image. Parameters l TimeMode: The mode of the time slider. The modes include the following: l TimeExtent : Shows a time range that moves up and down the slider. The time range is defined by two bars to mark the beginning and end of the time extent. As the user drags the bar back and forth, the data on the map changes to show events within the current time extent (blue area), in the same way that a person can see only the current map extent. You can drag the bars to adjust the start and end of the time extent. Time slider with Time Extent mode selected l TimeInstant : Shows a particular instant in time. If the time-aware layer does not have data for that particular instant in time, the map renders no data. Time slider with Time Instant mode selected l CumulativeFromStart : Shows cumulative data over a time span. There is a bar that the user can drag to set the end of the time span, but there is no bar for the beginning—the beginning is fixed at the beginning of the full time extent. As the bar moves, more and more data is added to the map as more time is added to the time extent (blue area) - to represent cumulative events over time. Time slider with Cumulative From Start mode selected The default time mode is TimeExtent . l Loop: If set to true , the time slider plays continuously. When the playback reaches the end of the time extent, it starts again from the beginning. The default is set to true . l PlaySpeed: The speed of the playback in seconds. If the play speed is set too low, it results in a very high number of requests to the map service and could result in delays or uneven rendering if the service cannot respond quickly enough to keep up with the demand. l NumberOfIntervals: The number of time intervals that the time extent is divided into for playback. l UserConfigurable: When this is set to true, the end user can change the time slider's settings, provided the time slider is visible. Specifically, the user can set the primary time aware map service, the time mode, the start date and end date of the time slider's full time extent, the number of intervals the time extent is divided into, the playback speed, and loop playback mode. l UsePrimaryTimeAwareMapService: Specifies whether to have a primary time-aware map service. When | 114 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide this setting is true, the time-aware map service that is highest in the layer list is the primary map service. The time slider's full time extent is initially set to the time extent of the primary map service. When this is false, the full time extent initially spans the time extents of all that time-aware map services in the site that are turned on in the layer list. l InitialTimeExtent: Sets the initial time extent to particular start and end dates within the time slider's full time extent. The dates are in UTC (Coordinated Universal Time), which , like GMT (Greenwich Mean Time), has the United Kingdom as offset zero, New York is UTC+5 (add 5 hours to UTC time), and the Netherlands is UTC-1 (subtract 1 hour). Dates are stored in Unix time—the number of milliseconds since Jan. 1, 1970 at midnight (UTC). To convert between Unix time and human-readable time, use a converter like http://www.epochconverter.com/. If you want the start date to be the start of the time slider's time extent, you can omit the start date by typing the comma followed by the value of the end date. For example, InitialTimeExtent=",1364774400000" . If, in addition to InitialTimeExtent , you specify one or both of InitialTimeIntervalStartRatio and InitialTimeIntervalEndRatio , the InitialTimeExtent will be ignored and the ratio settings will used. Because the bars that define the time extent must coincide with interval boundaries, the time slider may have to approximate the dates or ratios you enter. l InitialTimeIntervalStartRatio: Sets the start position of the initial time extent as a fraction of the full time extent. The full time extent is 0.0 - 1.0. If you set InitialTimeIntervalStartRatio , you must also set InitialTimeExtentEndRatio . l InitialTimeIntervalEndRatio: Sets the end position of the initial time extent as a fraction of the full time extent. In the following example, the initial time extent is set to the second quarter of the full time extent. Example Configuration 115 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 9.53 Toolbar Module 9.53 Toolbar Module The Toolbar Module holds many of the controls that access features within the Viewer. The toolbars are mostly organized into tabs and each tab contains one or more groups of controls. Groups actually contain many things including tools, buttons, and Regions. The only restriction is that whatever is loaded into a group, must be a toolbar item. Tools and buttons on the toolbar look similar but there is an important difference: Tools require the user to interact with the map before the tool is executed. Buttons do not. The type of interaction is specified in the tool’s DrawMode parameter. The commands executed by a tool must take a geometry object as a parameter. Parameters l StickyTools: Defines whether or not the tools on the toolbar should be in continuous mode. When set to true , you can use a tool repeatedly until you deselect the tool. When set to false , the tools deselect automatically after a single use. The default configuration is . When in non-sticky mode, you can temporarily set a tool to sticky by double-clicking it. To return the tool to non-sticky mode, click the tool again. l DisplayName (Tab): The name that appears on the toolbar tab. l DisplayName (Group): The name that appears below a group of tools. l DisplayName (Tool): The name that appears below the actual tool. l DrawMode (Tool): Defines the kind of map input required before the tool can be used. Can be any one of the following: l Point l Freehand l Polyline l Polygon l Rectangle l Tooltip: The text to display when the cursor hovers over a tool or button. l Command: The named command to execute when the user clicks on the tool or button. l ImageUri: A URI to an image that is displayed on the button or tool. Example Configuration This example, is of a simplified Toolbar module. | 116 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide 9.54 URL Integration Module The URL Integration module is internal to the Geocortex Viewer for Silverlight and contains no user configurable settings. 9.55 User Layer Addition Module This module is internal to the Geocortex Viewer for Silverlight. The configurable settings for the module can be set in Geocortex Essentials. See Add User Layers on page 120 for more information. 9.56 Xaml Shell Module The standard layout of the Viewer user interface is defined within a Viewer Module called Shell. The Shell that the Viewer uses to layout the user interface is a pluggable component. The Developer Quickstart demonstrates how to create a custom shell complete with code-behind. However, if you want to define the layout of your user interface completely using Xaml, then you can use the XamlShell module as a replacement for the standard Shell module. Steps for using XamlShell : 1. Remove the standard Shell module from your Viewer.Defaults.xml configuration file. Assuming that is defined in the Viewer.Defaults.xml and that your Viewer is inheriting from the Viewer.Defaults.xml, add the line to your Viewer.xml configuration file. If your Viewer configuration is not inheriting from the Viewer.Defaults.xml, then you do not have to do this step. 2. Add the XamlShell module to your configuration file. There are two ways to use the XamlShell module in configuration. They are discussed below. Parameters l Xaml: The element that is defined for the Xaml shell. The Xaml can be specified inline or downloaded using a specified Uri. l Uri: The Uri referencing the XAML for the XAML shell. Example Configuration The Xaml for a shell can also be defined in a remote Xaml file that is retrieved via Uri. Use the following syntax: Alternatively, the Xaml can be defined inline: The inline Xaml above, starting with the element, is the same Xaml you would place in an externally accessible file. In this example, a simple Grid is defined with two columns, each containing a ContentControl . Each ContentControl has a unique attached attribute called RegionName with a unique value identifying the name of the Region to the Viewer. The Viewer uses the Region name to locate the areas into which the Views must be placed. Notice in Viewer.Defaults.xml how the Map module has a View that targets a Region called MapRegion . As long as your shell defines a control with a region named MapRegion , then the Viewer will place the map into that Region. The Viewer ships with a sample, self-contained (InheritFromDefault="false" ) Viewer configuration called CharlotteBingMapsSimpleShell that illustrates all of these concepts. 9.57 Web Map Integration Module The Web Map module is internal to the Geocortex Viewer for Silverlight and contains no user configurable settings. | 118 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide 9.58 Watermark Module The Watermark module provides a way to add a configurable graphic watermark, for example, a corporate logo, to the map in the Geocortex Viewer for Silverlight. View Parameters l Visible: If set to true , the watermark image appears. If set to false , no watermark appears. The default is false . Configuration Parameters l ImageUrl: The web address of the image to use as a watermark. The default is “” (empty string). l ImageMode: Specifies which mode to use to display the watermark image: l Fixed: The watermark image displays in the full, original size of the image. l Scaled: The watermark image scales automatically to the size you specify in the Size parameter as the browser window is resized. l l Tiled: The watermark image repeats in a grid - horizontally and vertically over the entire map. Opacity: Specifies a value between 0.0 (fully transparent) to 1.0 (fully opaque) to set the opacity of the watermark image. The default is 0.25. l Size: Specifies a value between 0.0 (0% of the map) and 1.0 (100% of the map) representing a percentage of the total map area that the watermark image should cover in Scaled image mode. This parameter does not apply to Fixed or Tiled image modes. The aspect ratio of the supplied image is always preserved to prevent distortion. The default is 0.1. l Position: In Fixed or Scaled modes, this parameter specifies where on the map to display the watermark image. This parameter does not apply to Tiled image mode. Possible values include: Top-left, Top, Top-right, Left, Center, Right, Bottom-left, Bottom, and Bottom-right. The default is Center. Example Configuration 9.59 Workflow Module The Workflow Module provides support for running workflows. 119 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 10 Configure Features Parameters l RunAtStartup: The RunAtStartup element allows you to specify workflows by ID that then run when the viewer loads. You can run multiple workflows by adding multiple child Workflow elements. l WorkflowContainers: The WorkflowContainers element contains a collection of configurable user interface containers for hosting workflow related content. See Workflow Container Configuration on page 175 for more information. Example Configuration 10 10.1 Configure Features Add User Layers User-added layers allow non-administrative users to add map services to their existing map. The Add User Layers feature makes it possible to add ArcGIS Server map services as well as WMS services. This means that users can add and interact with additional map services. When they are added, the new map service layers are placed are located above all the operational layers and below the basemap layers in the Map Layers list. Using the Add Layer wizard, users can add almost any public ArcGIS Server or WMS map service available on the Internet. Newly-added layers become visible in the Map Layers List and support operations like Identify and Search depending on the capabilities of the map service. This feature also allows the administrator to pre-configure one or more servers or services. When you are adding a Layer, the Add Layer search attempts to match URLs or keywords entered in the URL or Keyword(s) box, for example, sampleserver1 . | 120 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide Supported technologies include: l ArcGIS l Map Server, Image Server, and Feature Server l GeoRSS l WMS l BING (Requires a token.) To add a map layer in the Viewer: 1. On the Maps and Data Sources tab in the Viewer, click Add Map Layer. The Add Layer wizard opens with a list of map services that you can select. 2. To select a map service, do one of the following: l Click on a Map Service in the list, and then click Next. l Type or paste in the URL of a Map Service, and then click Next. (This option depends on the services configured.) 3. Type in an alias for your layer, or select an alias from the list under Available Layers. 121 | © 2013 Latitude Geographics Group Ltd. All Rights Reserved. 10.1.1 Configure the Add User Layers Feature Type an alias for the layer that will appear in the Map Layers list. 4. Click Next. 5. Preview the layer and click Finish, or click Back to modify your selections. 6. You can click Add Another Layer, to select and add more layers, or click Close to return to the map. Some map services in the list may not be compatible with the current map. This may happen if the current map uses cached map services, and the user has searched for one or more map services which are also cached, but are in a different coordinate system. In this case, these map services are still shown in the Add Layer wizard, but they may not be added. 10.1.1 Configure the Add User Layers Feature The Add User Layers feature can be configured in the Geocortex Viewer for Silverlight Management Pack on the User Layer Addition Tab. The Management Pack is added to Essentials as part of the installation process. User Layer Addition section in Manager Parameters l Search Location: The base URL that is used to find new ArcGIS map services that users can add by using the Add Layer wizard. Users can filter the results using keywords. | 122 Geocortex.Viewer for Silverlight.1.9.Administrator and Developer Guide l Search Service: The search service to use. For example, if you entered ArcGISOnline, all the map services available on ArcGISOnline would be listed for users to add. l Template Location: The location of the template indicates how to build base URLs in order to discover new ArcGIS map services and layers to add to the map. l Token: An ArcGIS token that is used to authenticate a user and grant access to token-secured ArcGIS services. l BingToken: The Bing Maps Key that is used to authenticate a user and make it possible to add Bing layers. Example Configuration