Spectrum Spatial Analyst Extensibility Guide - Precisely

Transcription

Spectrum Spatial AnalystVersion 12.1Extensibility GuideExtensibility Guide

ContentsIntroduction . 1What is Analyst Platform? . 1Analyst Platform Components . 1Common Use Cases. 4Extensibility Guide

IntroductionTill Spectrum Spatial Analyst version 12.0, users could install SpectrumSpatial Analyst as a standard web application with specific functionality. Forexample, modify branding, create map configuration to define a view forconsumers, control who can view by defining permissions against therespective role etc.With Spectrum Spatial Analyst version 12.1, anyone can implement a newfeature or extend the existing capability insert it at a defined location and leverageAnalyst as a platform.What is Analyst Platform?Spectrum Spatial Analyst 12.1 is completely re-written in Angular –TypeScript. We have packaged it in such a way that you can write your owncustom modules and components that the v12.1 SSA can load and placethem where you want them to appear, and in a flow where you wish to havethem.With extensibility in place, developers can:1. Add new menu items and tools Add a new menu group. Hide/remove existing menu or specific menu items. Include user specified menu items.2. Replace/Override SSA UI components Users can add a new search component in place of the existingsearch box.Analyst Platform ComponentsThe SSA platform has following main components:1. Main application: It is the existing web - application that is shippedalong with the installer. It enables the web-mapping interface with allthe existing features that comes out of the box.2. Extension platform: This facilitates the development of third partycomponents developed independently and will load and plug thiscomponents in the existing application configured in theUserModuleDefinition.js file (below).Extensibility Guide1

3. SystemJS: This is the primary boot strapper of the application (It is aprovided library). It locates the configured third party module(s) and theassociated configuration and loads it along with the main application.4. CustomModulesDefintion.json: It is a configuration file that will allowthe users to specify the location of the component that needs to beloaded along with the optional information like startup arguments.5. Module: It represents the implementation details of thew newcapability to be introduced in the application.Sample ConfigurationThis section defines a new module QueryExtensionModule that the application wouldload as defined at path identified by “modulePath”. It also allows you to define optionalinformation like init-params (initParameters) that will be passed onto the module while itis loading.{"modules": [{"name": "QueryExtensionModule","description": "A new query implementation.","modulePath": tComponentName": "SettingsPanel","initParameters": {"initX": 0,"initY": 0,"endPointUrl": "localhost:3306/mysql/gidata","userName": "admin","password": "admin"}}}]}]}Extensibility Guide2

DescriptionFieldDescriptionmodulesIt is an JSON ARRAY that defines the modules to be loadedwhen the application is bootstrapped.Parent e of the moduledescriptionStringTextual description of the modulemodulePathStringLocation of the module relative to theextract/app path.componentsMapKey value .parentComponentName The parentcomponentthat willcontain thiscomponent.initParametersExtensibility GuideJSON Object Key value pair for the parameters thatare to be passed to the moduleassociated.3

Common Use CasesAdding layers at load time to map with raster reprojectionThere are cases when a user wishes to add a layer dynamically to the loaded mapconfiguration, either at load time or through a specific sequence of events E.g. On aclick of a button.With Analyst as a platform, it is just matter of writing your component configuring it andletting the extensibility take care of loading, adding, and rendering the layer.Extensibility Guide4

Spectrum Spatial Analyst 12.1 is completely re-written in Angular - TypeScript. We have packaged it in such a way that you can write your own custom modules and components that the v12.1 SSA can load and place them where you want them to appear, and in a flow where you wish to have them. With extensibility in place, developers can: 1.